C语言-7

来源:互联网 发布:人工智能的伦理困境 编辑:程序博客网 时间:2024/06/07 00:16
//      数组打印void arrayfloat(float arr[],int count){    for (int i = 0; i < count; i++) {        printf("%.2f ",arr[i]);    }}//    一维浮点型数组的冒泡排序函数void arrSort(float 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]) {                float temp = arr[j];                arr[j] = arr[j + 1];                arr[j + 1] = temp;            }        }    }}//    编写函数统计一个数的位数int number(int n){    int a = 0;    while (n != 0) {        n = n / 10;        a++;    }    return a;}//    编写函数统计一个三位正整数各位数的和int sumNumber(int n){    return  n / 100 + n / 10 % 10 + n % 10;}//    编写实现strlen同功能的函数stringLengthint stringLength (char arr[]){    int number = 0;    for (int i = 0; ; i++) {        if (arr[i] == '\0') {            break;        }else number++;    }    return number;}//    编写实现strcpy同功能的函数stringCopvoid stringCop (char a[],char arr[]){    for (int i = 0; ; i++) {        if (arr[i] == '\0') {            a[i] = '\0';            break;        }else {            a[i] = arr[i];        }    }}//    编写实现strcat同功能的函数stringCatchvoid stringCatch(char a[],char arr[]){    //判断是否有字符 所以取有效长度    int number = stringLength(a);    for (int i = 0;i < stringLength(arr) ; i++) {        if (arr[i] == '\0') {            break;        }else a[number++] = arr[i];    }}//      编写实现strcmp同功能的函数stringCompareint stringCompare(char a[],char arr[]){    //确定比较的次数    int str = stringLength(a) >stringLength(arr) ?  stringLength(a) :stringLength(arr);    //用cmp来记录大小    int cmp = 0;    for (int i = 0; i < str; i++) {        if (a[i] > arr[i]){            cmp = a[i] - arr[i];            break;        }        if (a[i] < arr[i]){            cmp = a[i] - arr[i];            break;        }        if (a[i] == arr[i]){            cmp = 0;            continue;        }                    }        return cmp;    }//打印数组里所有的元素void arrayPrint(int arr[],int count){    for (int i = 0; i < count ;i++) {        printf("%d ", arr[i]);    }}//打印数组里最大值int maxOfArray(int arr[],int count){    int max = 0;    for (int i = 0; i < count; i++) {        if (max < arr[i]) {            max = arr[i];        }    }    return max;}//数组排序void orderOfArray(int 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;            }        }    }}//两个数最大值int maxOfTwoNumber(int a,int b){    return a > b ? a : b;}//三个数最大值int threeOfTwoNumber(int a,int b,int c){    return maxOfTwoNumber( maxOfTwoNumber(a, b),c);}//四个数最大值int fourOfTwoNumber(int a,int b,int c,int d){    return  maxOfTwoNumber(threeOfTwoNumber(a, b, c),d);}//五个数最大值int fiveOfTwoNumber(int a,int b,int c,int d,int e){    return   maxOfTwoNumber(fourOfTwoNumber(a, b, c,d),e);}//计算计算s = (1*1)! + (2*2)! + (3*3)!long jiechengsum(int n){    long sum = 0;    for (int i = 1; i < n+1; i++) {        sum += jiecheng(i*i);    }    if (n == 0) {        sum = 1;    }    return sum;}//计算计算s = (1*1)! + (2*2)! + (3*3)!long  jiecheng(int n){    long temp = 1;    for (int i = 1; i <= n; i++) {        temp *= i;    }        return  temp;}long jiecheng2(int n){    //    递归调用一定要有出口    if (n <= 1) {        return 1;    }else        return n * jiecheng2(n-1);}int middleNumber(int a,int b,int c);int middleNumber(int a,int b,int c){    int max = 0,middle = 0 ,min = 0;    max = a > b ? a : b;    max = max > c ? max : c;    min = a < b ? a : b;    min = min < c ? min : c;    middle = a + b + c - max - min;    return middle;}int nuber(int n);int nuber(int n){    int b = 0;    while (n != 0) {        n /= 10;        b++;    }    return b;}int main(int argc, const char * argv[]){//    一维浮点型数组的冒泡排序函数    /*    float arr[6] = {5.34,9.4,3,5.4,6.4,9.5};    arrSort(arr, 6);    arrayfloat(arr, 6);    *///    编写函数统计一个三位正整数各位数的和//    printf("%d", sumNumber(943));        //    编写实现strlen同功能的函数stringLength//    char arr[444] = "asdds adswe dadsd";//    printf("%lu\n", strlen(arr));//    printf("%d", stringLength(arr));    //    //    编写实现strcpy同功能的函数stringCop//    char arr[20] = "assdds adswe dadsd";//    char a2[20] = "w";//    //strcpy(arr, a2);//    stringCop(arr, a2);//    printf("%s",arr);    //    编写实现strcat同功能的函数stringCatch//    char arr[20] = "assdds adswe dadsd";//    char a2[20] = "sdsd dsd dsd";//    char a3[403] = "d      ) s";//    stringCatch(a3, arr);//    printf("%s\n",a3);//    stringCatch(a3, a2);//    printf("%s",a3);//      编写实现strcmp同功能的函数stringCompare//    char a1[10] ="abbs";//    char a2[10] ="abbskk";//    printf("%d ", stringCompare(a1, a2));//    printf("%d ", strcmp(a1, a2));        //    int array[6] = {23,4,55,68,3,4};//    arrayPrint(array, 6);//    printf("%lu", sizeof(array)/sizeof(int));//    printf("%d", maxOfArray(array, 10));//    orderOfArray(array, 6);//    arrayPrint(array, 6);        //    c语言不允许函数嵌套定义,但是允许函数嵌套调用, 注意避免嵌套定义//    printf("%d", jiechengsum(3));    //    int a = 2,b = 3,c = 7,d = 5,e = 55;//    printf("%d", maxOfTwoNumber(a,maxOfTwoNumber(b, maxOfTwoNumber(c, maxOfTwoNumber(d, e)))));//    printf("%d ", fiveOfTwoNumber(a, b, c, d,e));//    printf("%ld ", jiechengsum(3));//    printf("%ld", jiecheng2(0));           return 0;}


0 0