/**********
【习题6.033】系统给定外部整型数组a、整型变量n、max、min 和实型变量avg(不需要自行定义)。编写程序,求数组a中前n 个元素的最大值max、最小值min及平均值avg。 **********/ void main() {
inti,sum=0; max=min=a[0]; for(i=0;i if(a[i]>=max) max=a[i]; if(a[i]<=min) min=a[i]; sum+=a[i]; } avg=sum/(float)n; } /********** 【习题6.043】系统给定外部整型变量n和整型数组a(不需要 自行定义)。编写程序,找出数组a中前n个元素中的最小元素 及其下标,然后把它和数组中最前面的元素a[0]交换位置。 **********/ void main() { int b=a[0],temp,min,z; for(int i=1;i if(b>a[i]) b=a[i]; } min=b; for(int j=0;j if(a[j]==min) z=j; } temp=a[0]; a[0]=min; a[z]=temp; } /********** 【习题6.050】系统给定外部字符串s和整型数组c[26](不需要 自行定义)。编写程序,将字符串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。 **********/ #include for(i=0;s[i];i++) if(s[i]>='a'&&s[i]<='z') c[s[i]-'a']++; for(i=0;i<26;i++) printf(\ printf(\} /********** 【习题6.051】系统给定外部字符串s和整型数组c[26] (不需要自行定义)。编写程序,将字符串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。 **********/ void main() { int i; for(i=0;s[i];i++) { if(s[i]>='A'&&s[i]<='Z') c[s[i]-'A']++; if(s[i]>='a'&&s[i]<='z') c[s[i]-'a']++; } } /********** 【习题6.110】系统给定外部字符数组变量s和数组长度n(不需要 自行定义)。main函数的功能是:把字符串s中所有小写字母转换 为大写字母,其他字符不变。例如,当s=\ 时,转换后s=\。 请仅在空缺处填入合适内容,使其实现上述功能。 **********/ void main() { int i; i=0 ; while(i if(*(s+i)>='a' && *(s+i)<='z') *(s+i)= *(s+i)-32; i++ ; } } /********** 【习题6.120】系统给定外部长整型变量n和字符数组变量s(不需要 自行定义)。main函数的功能是:把n的整数值转换成字符串,并逆 序保存在s中。例如,当n=20120826时,由n转换得到s=\。 请仅在空缺处填入合适内容,使其实现上述功能。 **********/ void main() { int i=0; while(n>0&&i<10) { s[i]=n+'0'; n/=10; i++; } s[i]='\\0'; } /********** 【习题6.121】系统给定外部长整型变量n和字符数组变量s(不需要 自行定义)。main函数的功能是:把n的整数值转换成字符串,并保 存在s中。例如,当n=20120826时,由n转换得到s=\。 请仅在空缺处填入合适内容,使其实现上述功能。 **********/ void main() { int i=0,k; char c[10]; while(n>0&&i<10) { c[i]=n; n/=10; i++; } s[i--]='\\0'; k=i; while(i>=0) { s[i]=c[k-i]+'0'; i--; } } /********** 【习题6.225】系统给定外部整型变量n、e和整型数组a(不需要自行定义), 其中数组a中前n个元素(a[0],a[1],?,a[n-1])已经按元素值由小到大排序。 编写程序,把变量e的值插入到数组a中,并且仍然保持a中元素由小到大的排列 顺序。若e的值比原有所有的数都大时,插入在末尾的a[n]。若比原有的数都小 时,则插入在最前面的a[0]。 **********/ void main() { inti,j; for (i=0; i if(e < a[i]) { for (j=n; j>i; j--) { a[j]=a[j-1]; } a[i] = e; break; } else a[n]=e; } } /********** 【习题6.255】系统给定外部整型变量n和整型数组a(不需要自行定义)。 编写程序,用起泡法对数组a中前n个元素(a[0],a[1],?,a[n-1])进行 分段排序,其中前一半为从小到大排序,后一半为从大到小排序,n为奇数 时,位于中间点的数不需要排序。 **********/ void main() { inti,j,t; if(n%2==0) { for(i=0;i t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=0;i t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } else { for(i=0;i t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=0;i t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }