欢迎来到天天文库
浏览记录
ID:34539470
大小:229.19 KB
页数:15页
时间:2019-03-07
《c语言程序设计 (何钦铭 颜晖 著) 浙江科学技术出版社 习题6 课后答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题参考答案习题六1.B2.C3.输出结果是�12612745830程序分析�#includevoidmain(){intj,k,n,temp,sum=0;inta[6][6];scanf("%d",&n);//输入有效的行、列数n�1�6��根据题意输入3�即n=3/*为矩阵a[3][3]中各元素赋值�即a[k][j]=3k+j�如下�012345678*/for(k=0;k2、6sum+=a[k][n-k-1];printf("%d",sum);//输出逆对角线元素和sum�12/*交换矩阵元素a[k][j]<-->a[n-j-1][k];由于j的取值范围是[0,n/2)�当n=3,n/2=1,故只需处理第0列:a[0][0]<-->a[2][0]a[1][0]<-->a[2][1]a[2][0]<-->a[2][2]*/for(k=0;k3、下�612745830输出该矩阵�各元素后空两格*/for(k=0;kvoidmain(){inti=0,k;staticintnum[5];/*静态整型数组num�5个元素的初值均为0�用于存放各元音字母的数量�如num[0]为’a’的数量�num[1]为’e’的数量,…*/charalpha[]={'a','e','o','i','u'},in[80]4、;//字符数组alpha存放5个元音字母�in存放用户输入的字符串�长度不超过80//while循环--用户输入一串字符�存放在数组in中。循环条件�输入的字符不等于字符’?’while((in[i++]=getchar())!='?');/*该循环的循环体是一个空语句;�但实际上它把输入字符�修改数组下标等工作融入循环条件中相当于�while(1){in[i]=getchar();//向字符数组in输入一个字符if(in[i]==’?’)break;i++;}*/in[i]=' ';//在末尾加上字符串结束标志’ ’。注意编程时勿将’5、 ’写为’0’//对数组in中的各字符逐个判断是否是5个元音字母中的一个i=0;while(in[i]){//while的循环条件�in[i]不等于0�即’ ’,相当于while(in[i]!=’ ’)for(k=0;k<5;k++)//对给定的字符in[i],比较alpha中的每个元音字母if(in[i]==alpha[k]){//如果字符in[i]是alpha[k]所指的元音字母�相应的元音计数器num[k]增1num[k]++;break;//如果in[i]已经是某个元音�则不可能是其他元音�因此不需要继续循环比较}i++;//6、调整数组in的下标�为判断下一个字符做准备}//以下for循环用于输出各非0的元音数量。for(k=0;k<5;k++)if(num[k])printf("%c%d",alpha[k],num[k]);printf("");}5.编程题�输入一个正整数n(1�n�10)�再输入n个整数�输出平均值�保留2位小数�源程序�#includevoidmain(){inti,n,a[10];doublesum;printf("Pleaseentern(1~10):");scanf("%d",&n);//输入n个整数�存放在数组7、a中printf("Enter%dnumbers:",n);for(i=0;ivoidmain(){inti,n,a[10];doublesum;printf("Pleaseentern(1~10):");scanf("%d",&n);//输入n8、个整数�存放在数组a中�并计算元素之和sumprintf("Enter%dnumbers:",n);sum=0;for(i=0;i
2、6sum+=a[k][n-k-1];printf("%d",sum);//输出逆对角线元素和sum�12/*交换矩阵元素a[k][j]<-->a[n-j-1][k];由于j的取值范围是[0,n/2)�当n=3,n/2=1,故只需处理第0列:a[0][0]<-->a[2][0]a[1][0]<-->a[2][1]a[2][0]<-->a[2][2]*/for(k=0;k3、下�612745830输出该矩阵�各元素后空两格*/for(k=0;kvoidmain(){inti=0,k;staticintnum[5];/*静态整型数组num�5个元素的初值均为0�用于存放各元音字母的数量�如num[0]为’a’的数量�num[1]为’e’的数量,…*/charalpha[]={'a','e','o','i','u'},in[80]4、;//字符数组alpha存放5个元音字母�in存放用户输入的字符串�长度不超过80//while循环--用户输入一串字符�存放在数组in中。循环条件�输入的字符不等于字符’?’while((in[i++]=getchar())!='?');/*该循环的循环体是一个空语句;�但实际上它把输入字符�修改数组下标等工作融入循环条件中相当于�while(1){in[i]=getchar();//向字符数组in输入一个字符if(in[i]==’?’)break;i++;}*/in[i]=' ';//在末尾加上字符串结束标志’ ’。注意编程时勿将’5、 ’写为’0’//对数组in中的各字符逐个判断是否是5个元音字母中的一个i=0;while(in[i]){//while的循环条件�in[i]不等于0�即’ ’,相当于while(in[i]!=’ ’)for(k=0;k<5;k++)//对给定的字符in[i],比较alpha中的每个元音字母if(in[i]==alpha[k]){//如果字符in[i]是alpha[k]所指的元音字母�相应的元音计数器num[k]增1num[k]++;break;//如果in[i]已经是某个元音�则不可能是其他元音�因此不需要继续循环比较}i++;//6、调整数组in的下标�为判断下一个字符做准备}//以下for循环用于输出各非0的元音数量。for(k=0;k<5;k++)if(num[k])printf("%c%d",alpha[k],num[k]);printf("");}5.编程题�输入一个正整数n(1�n�10)�再输入n个整数�输出平均值�保留2位小数�源程序�#includevoidmain(){inti,n,a[10];doublesum;printf("Pleaseentern(1~10):");scanf("%d",&n);//输入n个整数�存放在数组7、a中printf("Enter%dnumbers:",n);for(i=0;ivoidmain(){inti,n,a[10];doublesum;printf("Pleaseentern(1~10):");scanf("%d",&n);//输入n8、个整数�存放在数组a中�并计算元素之和sumprintf("Enter%dnumbers:",n);sum=0;for(i=0;i
3、下�612745830输出该矩阵�各元素后空两格*/for(k=0;kvoidmain(){inti=0,k;staticintnum[5];/*静态整型数组num�5个元素的初值均为0�用于存放各元音字母的数量�如num[0]为’a’的数量�num[1]为’e’的数量,…*/charalpha[]={'a','e','o','i','u'},in[80]
4、;//字符数组alpha存放5个元音字母�in存放用户输入的字符串�长度不超过80//while循环--用户输入一串字符�存放在数组in中。循环条件�输入的字符不等于字符’?’while((in[i++]=getchar())!='?');/*该循环的循环体是一个空语句;�但实际上它把输入字符�修改数组下标等工作融入循环条件中相当于�while(1){in[i]=getchar();//向字符数组in输入一个字符if(in[i]==’?’)break;i++;}*/in[i]=' ';//在末尾加上字符串结束标志’ ’。注意编程时勿将’
5、 ’写为’0’//对数组in中的各字符逐个判断是否是5个元音字母中的一个i=0;while(in[i]){//while的循环条件�in[i]不等于0�即’ ’,相当于while(in[i]!=’ ’)for(k=0;k<5;k++)//对给定的字符in[i],比较alpha中的每个元音字母if(in[i]==alpha[k]){//如果字符in[i]是alpha[k]所指的元音字母�相应的元音计数器num[k]增1num[k]++;break;//如果in[i]已经是某个元音�则不可能是其他元音�因此不需要继续循环比较}i++;//
6、调整数组in的下标�为判断下一个字符做准备}//以下for循环用于输出各非0的元音数量。for(k=0;k<5;k++)if(num[k])printf("%c%d",alpha[k],num[k]);printf("");}5.编程题�输入一个正整数n(1�n�10)�再输入n个整数�输出平均值�保留2位小数�源程序�#includevoidmain(){inti,n,a[10];doublesum;printf("Pleaseentern(1~10):");scanf("%d",&n);//输入n个整数�存放在数组
7、a中printf("Enter%dnumbers:",n);for(i=0;ivoidmain(){inti,n,a[10];doublesum;printf("Pleaseentern(1~10):");scanf("%d",&n);//输入n
8、个整数�存放在数组a中�并计算元素之和sumprintf("Enter%dnumbers:",n);sum=0;for(i=0;i
此文档下载收益归作者所有