#define_CRT_SECURE_NO_WARNINGS/*防止scanf使用报错*/#include<stdio.h>//定义交换两个数顺序的函数intexchange(int* x,int* y);intmain(){int a, b;printf("请输入两个整数a,b: ");scanf("%d,%d",&a,&b);printf("\n交换前:a = %d , b = %d\n", a, b);exchange(&a,&b);printf("\n交换后:a = %d , b = %d", a, b);printf("\n");return0;}intexchange(int* x,int* y){int temp;
temp =*x;*x =*y;*y = temp;return*x,* y;}
2.有一个包含有10个整型数的数组,分别通过两个子函数找出其中最大数及最小数并输出。
#define_CRT_SECURE_NO_WARNINGS/*防止scanf使用报错*/#include<stdio.h>#defineN10//定义找最大值函数voidfind_Max(int* num,int n){int i =0;int*max = num;for(; i < n; i++){if(*max <*(num + i)){
max = num + i;}}printf("Max = %d",*max);}//定义找最大值函数voidfind_Min(int* num,int n){int i =0;int* min = num;for(; i < n; i++){if(*min >*(num + i)){
min = num + i;}}printf("Min = %d",*min);}intmain(){int num[N]={1,2,-88,9,6,-48,99,32,0,66};find_Max(num, N);printf("\n");find_Min(num, N);printf("\n");return0;}
3.有一个5*5的矩阵,通过子函数找出每行的最大数并输出,以及整个矩阵中的最大数井输出。
#define_CRT_SECURE_NO_WARNINGS/*防止scanf使用报错*/#include<stdio.h>#defineN5//找出每行最大的数voidfind_perLine_max(int(*data)[N],int n){int i, j, k;int max[N];//建立一维数组保存每行最大的数for(i =0; i < n; i++){
max[i]= data[i][0];for(j =0; j < n; j++){if(max[i]< data[i][j]){
max[i]= data[i][j];}}printf("max[line %d] = %d\n", i +1, max[i]);}}//找出矩阵中最大的数voidfind_array_max(int(*data)[N],int n){int i, j, max_array;
max_array = data[0][0];for(i =0; i < n; i++){for(j =0; j < n; j++){if(max_array < data[i][j]){
max_array = data[i][j];}}}printf("\nThe maximum number in the matrix is:%d", max_array);}//打印矩阵元素voidprint_or_array(int data[][N],int n){int i, j;for(i =0; i < n; i++){for(j =0; j < n; j++){printf("%-6d", data[i][j]);}printf("\n");}}intmain(){int num[N][N]={{1,2,5,4,3},{8,6,7,16,89},{84,65,80,66,99},{9,5,1,3,7},{7,6,1,8,-1}};printf("The elements of the original %d * %d array are as follows:\n", N, N);print_or_array(num, N);printf("\n");find_perLine_max(num, N);find_array_max(num, N);printf("\n");return0;}
4.有一个包含任意字符的字符数组,将数组中非字母字符删除。
#define_CRT_SECURE_NO_WARNINGS/*防止scanf使用报错*/#include<stdio.h>#defineN100intmain(){char str[N];char newStr[N]={0};char* p_str = str;char* p_new = newStr;printf("Please enter a line of character array containing any characters:\n");gets_s(str);printf("\nBefore processing:\n");puts(str);int i, j =0;for(i =0; str[i]!='\0'; i++){if(!(str[i]>='a'&& str[i]<='z'|| str[i]>='A'&& str[i]<='Z'))continue;else{*(p_new + j)=*(p_str + i);
j++;}}printf("\nAfter processing:\n");puts(newStr);printf("\n");return0;}