实验四(部分)
【实验结论】
•Part 5 编程练习
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。♢练习一:补全程序,查找一组整型数据的最大值。
程序源码:
1 #include <stdio.h> 2 int findMax(int a[], int n); 3 const int N=5; 4 int main() { 5 int a[N]; 6 int max, i; 7 printf("输入%d个整数: \n", N); 8 for(i=0;i<N;i++) 9 scanf("%d",&a[i]); 10 max=findMax(a,N); 11 printf("数组a中最大元素值为: %d\n\n", max); 12 return 0; 13 } 14 int findMax(int a[], int n) 15 { 16 int num,m,i; 17 num=sizeof(a)/sizeof(int); 18 m=a[0]; 19 for(i=0;i<n;i++) 20 { 21 if(a[i]>m) 22 m=a[i]; 23 } 24 return m; 25 }
运行结果截图:
♢练习一:补全程序,使用冒泡法对字符数组由大到小排序。
程序源码:
1 #include <stdio.h> 2 const int N=4; 3 void output(char x[], int n); 4 void rank(char x[]) ; 5 6 int main() { 7 char string[N] = {'2','0','1','9'}; 8 int i; 9 printf("排序前: \n"); 10 output(string, N); 11 rank(string); 12 printf("\n排序后: \n"); 13 output(string, N); 14 printf("\n"); 15 return 0; 16 } 17 18 void output(char x[], int n) { 19 int i; 20 for(i=0; i<N; i++) 21 printf("%c", x[i]); 22 } 23 void rank(char x[]) 24 { 25 int num,i,j; 26 char t; 27 num=sizeof(x)/sizeof(char); 28 for(j=0;j<num-1;j++) 29 for(i=0;i<num-j-1;i++) 30 if(x[i]<x[i+1]) 31 { 32 t=x[i]; 33 x[i]=x[i+1]; 34 x[i+1]=t; 35 } 36 }
运行结果截图:
♢选做:尝试编写一个输入函数,完成字符串输入。然后,修改main()程序,在其中调用输入函数,使 得,程序可以在运行时对用户输入的任意字符进行由大到小排序。
程序源码:
1 #include <stdio.h> 2 const int N=5; 3 void output(char x[], int n); 4 void rank(char x[]) ; 5 void input(char x[], int n); 6 int main() { 7 char string[N]; 8 input(string,N); 9 printf("\n排序前: \n"); 10 output(string, N); 11 rank(string); 12 printf("\n排序后: \n"); 13 output(string, N); 14 printf("\n"); 15 return 0; 16 } 17 void input(char x[], int n){ 18 int i; 19 printf("请输入五个字符:\n"); 20 for(i=0;i<N;i++) 21 scanf("%c,",&x[i]); 22 } 23 void output(char x[], int n) { 24 int i; 25 for(i=0; i<N; i++) 26 printf("%c ", x[i]); 27 } 28 void rank(char x[]) 29 { 30 int num,i,j; 31 char t; 32 num=sizeof(x)/sizeof(char); 33 for(j=0;j<num-1;j++) 34 for(i=0;i<num-j-1;i++) 35 if(x[i]<x[i+1]) 36 { 37 t=x[i]; 38 x[i]=x[i+1]; 39 x[i+1]=t; 40 } 41 }
运行结果截图:

更多精彩