《2016广工Anyview试题答案-第六章》由会员分享,可在线阅读,更多相关《2016广工Anyview试题答案-第六章(12页珍藏版)》请在金锄头文库上搜索。
1、/* 【习题6.033】系统给定外部整型数组a、整型变量n、max、min和实型变量avg(不需要自行定义)。编写程序,求数组a中前n个元素的最大值max、最小值min及平均值avg。*/void main() int i,sum=0; max=min=a0; for(i=0;i=max) max=ai; if(ai=min) min=ai; sum+=ai; avg=sum/(float)n;/* 【习题6.043】系统给定外部整型变量n和整型数组a(不需要自行定义)。编写程序,找出数组a中前n个元素中的最小元素及其下标,然后把它和数组中最前面的元素a0交换位置。*/void main()i
2、nt b=a0,temp,min,z;for(int i=1;iai) b=ai; min=b; for(int j=0;jn;j+) if(aj=min) z=j; temp=a0; a0=min; az=temp; /* 【习题6.050】系统给定外部字符串s和整型数组c26(不需要自行定义)。编写程序,将字符串s中26个小写字母出现的次数依次统计到数组c中。例如,当s=“abcijkabcdexyzuvwx”时,数组c的26个元素值依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 2 1 1。*/#includevoid main() i
3、nt i; for(i=0;si;i+) if(si=a&si=z) csi-a+; for(i=0;i=A&si=a&si=z) csi-a+; /*【习题6.110】系统给定外部字符数组变量s和数组长度n(不需要自行定义)。main函数的功能是:把字符串s中所有小写字母转换为大写字母,其他字符不变。例如,当s=68abcdEFGhijkLM86时,转换后s=68ABCDEFGHIJKLM86。请仅在空缺处填入合适内容,使其实现上述功能。*/void main() int i; i=0 ; while(i=a & *(s+i)0&i0&i=0) si=ck-i+0; i-; /* 【习题6.
4、225】系统给定外部整型变量n、e和整型数组a(不需要自行定义),其中数组a中前n个元素(a0,a1,an-1)已经按元素值由小到大排序。编写程序,把变量e的值插入到数组a中,并且仍然保持a中元素由小到大的排列顺序。若e的值比原有所有的数都大时,插入在末尾的an。若比原有的数都小时,则插入在最前面的a0。*/void main()int i,j;for (i=0; in; i+) if(e i; j-) aj=aj-1; ai = e; break; else an=e;/* 【习题6.255】系统给定外部整型变量n和整型数组a(不需要自行定义)。编写程序,用起泡法对数组a中前n个元素(a0,
5、a1,an-1)进行分段排序,其中前一半为从小到大排序,后一半为从大到小排序,n为奇数时,位于中间点的数不需要排序。*/void main() int i,j,t; if(n%2=0) for(i=0;in/2;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; for(i=0;in/2;i+) for(j=n/2;jaj) t=aj; aj=aj+1; aj+1=t; else for(i=0;in/2-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; for(i=0;in/2-1;i+) for(j=n/2+1;jaj)
6、 t=aj; aj=aj+1; aj+1=t; /* 【习题6.265】系统给定外部整型变量n和整型数组a(不需要自行定义)。编写程序,用起泡法对数组a中前n个元素(a0,a1,an-1)进行分段排序,其中前一半为从大到小排序,后一半为从小到大排序,并把n个数的平均值存在an中,n为奇数时,位于中间点的数不需要排序。*/void main() int i,j; float t,sum; if(n%2=0) for(i=0;in/2;i+) for(j=0;jaj) t=aj; aj=aj+1; aj+1=t; for(i=0;in/2;i+) for(j=n/2;jaj+1) t=aj; aj
7、=aj+1; aj+1=t; else for(i=0;in/2-1;i+) for(j=0;jaj) t=aj; aj=aj+1; aj+1=t; for(i=0;in/2-1;i+) for(j=n/2+1;jaj+1) t=aj; aj=aj+1; aj+1=t; for (i=0;in;i+) sum+=ai; an=sum/n; /* 【习题6.425】系统给定外部整型变量n和整型数组a(不需要自行定义)。编写程序,求某数列中前n个数,并依次存放在数组a中,该数列的前两个数为2和3,以后每一个数都是前两个数之差(后面的数减去前面的数)的2倍,如前6个数依次为:2,3,2,-2,-8,-12)。*/void main() a0=2;a1=3; for (int i=2;in;i+) ai=(ai-1-ai-2)*2;/* 【习题6.435】系统给定外部整型变量m、n、整型数组a和实型数组b(不需要自行定义),其中n的值是m的整数倍。编写程序,对数组a的前n个元素依次赋予从2开始的偶数,然后按顺序每m个数求出一个平均值并依次存储在另一数组b中。*/void main() a0=2; int i,j=0,sum=0; for(i=1;in;i+) ai=ai-1+2; for(i=0;i0&i%m=0) bj+=sum/m; sum=0;