2016广工Anyview试题答案-第六章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【习题6.033】系统给定外部整型数组a、整型变量n、max、min 和实型变量avg(不需要自行定义)。编写程序,求数组a中前n 个元素的最大值max、最小值min及平均值avg。
**********/
void main()
{
int i,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 void main() { int i; for(i=0;s[i];i++) if(s[i]>='a'&&s[i]<='z') c[s[i]-'a']++; for(i=0;i<26;i++) printf("%d ",c[i]); printf("\n"); } /********** 【习题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="68abcdEFGhijkLM86" 时,转换后s="68ABCDEFGHIJKLM86"。 请仅在空缺处填入合适内容,使其实现上述功能。 **********/ 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="62802102"。请仅在空缺处填入合适内容,使其实现上述功能。 **********/ void main() { int i=0; while(n>0&&i<10) { s[i]=n%10+'0'; n/=10; i++; } s[i]='\0'; } /********** 【习题6.121】系统给定外部长整型变量n和字符数组变量s(不需要 自行定义)。main函数的功能是:把n的整数值转换成字符串,并保 存在s中。例如,当n=20120826时,由n转换得到s="20120826"。 请仅在空缺处填入合适内容,使其实现上述功能。 **********/ void main() { int i=0,k; char c[10]; while(n>0&&i<10) { c[i]=n%10; 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() { int i,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])进行