欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OC

程序员文章站 2024-01-14 22:20:34
...

习题合集三

#import <Foundation/Foundation.h>
//1用函数实现 : 随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
void RadomMax(int arraya[],int count){
    int max = 0;
    for (int i = 0; i < 20; i++) {
        arraya[i]=arc4random()%(100-10-1)+10;
        printf("%d\n",arraya[i]);
        if (arraya[i]>10) {
            max = max > arraya[i] ? max : arraya[i];
        }
    }
    printf("最大值为:%d\n",max);
}
//用函数实现 : 输入一个整数,判断奇偶,并返回判断结果(BOOL)
int ParityNum(int a){
//    printf("请输入一个数%d",&a);
//    scanf("%d",&a);
    BOOL b = a%2==0;
    if (b == 0) {
        printf("%d是奇数",a);
    }else{
        printf("%d是偶数",a);
    }
    return b;
}
//3计算double类型的一维数组的平均值
//要求:
//1、编写一函数,计算n个元素的一维数组的平均值。
//2、在main()函数中调用该函数。
//3、用全局变量存储平均值。
double average = 0;

void averageArrayNumber(int arr[],int count){
    int sum = 0;
    for (int i = 0; i < count; i++) {
        sum = sum + arr[i];
        printf("%d ",arr[i]);
    }
    average = sum/count;
    printf("该数组的平均值为%f",average);
}

//4一维浮点型数组的冒泡排序函数
//题目重点
//函数的声明语法
//冒泡排序算法
void BubbleArray(double arr[],int count){
    for (int i = 0; i < count - 1; i++) {
        
        for (int j = 0; j < count - 1 - i; j++) {
            if (arr[j]>arr[j+1]) {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
    for (int i = 0 ; i < count; i++) {
        printf("%f  ",arr[i]);
    }
}

//5“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
void PalindromicNumber(char a[]){
   unsigned long length = strlen(a);
    int aa = 0;
    for (int i = 0; i<length/2;i++ ) {
        if (a[i] - a[length-i-1] == 0) {
            aa = 0;
        }else{
            aa = 1;
            break;
        }
    }
    if (aa == 0) {
        printf("是回文");
    }else{
        printf("不是回文");
    }
    
}
 //6编写函数统计一个三位正整数各位数的和。
void ThreeSum(int m){
    //100位
    int a = m/100;
    //个位
    int b = m%10;
    int c = (a/10)%10;
    int sum = a+b+c;
    printf("%d的各位数和为:%d",m,sum);
}
//7.1(1)编写实现strlen同功能的函数stringLength。
void stringLength(char c[]){
    int n = 0;
    while (c[n] != '\0') {
        n++;
    }
    printf("%d",n);
}
//7.2编写实现strcpy同功能的函数stringCopy。
void stringCopy(char m[],char n[]){
   
    unsigned long alength = strlen(m);
    unsigned long blength = strlen(n);
    if (alength == blength) {
        for (int i = 0; i < alength;i++ ) {
           m[i]=n[i];
        }
    }
    for (int j = 0; j < alength; j++) {
        printf("%c ",m[j]);
    }

}
//7.3编写实现strcat同功能的函数stringCatch。//注意 \0
void stringCatch(char a[],char b[]){
    unsigned long alength = strlen(a);
    unsigned long blength = strlen(b);
    for (int  i = 0 ; i < blength; i++) {
        a[alength+i] = b[i];
    }
    for (int i = 0; i<(alength+blength); i++) {
        printf("%c",a[i]);
    }
}
//7.4编写实现strcmp同功能的函数string Compare。
void stringCompar(char a[],char b[]){
    unsigned long alength = strlen(a);
    unsigned long blength = strlen(b);
    int sum = 0;
    for (int i = 0; (i < alength )&&(i<blength); i++) {
        
        if (a[i]==b[i]) {
            sum =0;
        }else{
            sum = a[i]-b[i];
        }
    }
    
    printf("%d",sum);
}

//8编写一个函数:将一个字符串中相同的元素删除,并在main()中调用,并输出
void DeleSameNum(char a[]){
    unsigned long length = strlen(a);
  
     int k =  0;
    for (int i = 0; i < length; i++) {
        for(int j = i+1;j<length;j++){
            if (a[i] == a[j]) {
                for ( k = j; k < length; k++) {
                    a[k]=a[k + 1];
                }
                length --;
            a[k] = '\0';
                j--;
                
            }
        }
    }
    length = strlen(a);
    printf("%lu",length);
    for (int i = 0; i<length; i++) {
        printf("%c",a[i]);
    }
    
    

}
int main(int argc, const char * argv[]) {
   // int a[20]={};
    //RadomMax(a, 20);
    
//    int n ;
//    printf("请输入一个数:");
//    scanf("%d",&n);
//    ParityNum(n);
    
    
    //int as[3]={1,2,9};
    //averageArrayNumber(as,3);
    
//    double ad[] = {12.0,45.0,2.0,36.0,5.0};
//    BubbleArray(ad, 5);
    
    //ThreeSum(124);
    
  // char parNum[]= "ajiea";
  // PalindromicNumber(parNum);
    
//    char s[] = "asdfs";
//    stringLength(s);
    
    char am[] = "sdadsf";
   // char bm[] = "sdp";
    //stringCopy(am, bm);
    //stringCatch(am,bm);
   // stringCompar(am, bm);
    DeleSameNum(am);
        return 0;
   
}