2022年c语言书后习题_编程题 .pdf

上传人:Che****ry 文档编号:34879472 上传时间:2022-08-19 格式:PDF 页数:11 大小:62.50KB
返回 下载 相关 举报
2022年c语言书后习题_编程题 .pdf_第1页
第1页 / 共11页
2022年c语言书后习题_编程题 .pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2022年c语言书后习题_编程题 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言书后习题_编程题 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 9 章数 组三、编程题9.27 输入一行数字字符, 请用数组元素作为计数器来统计每个数字字符的个数。用下标为 0 的元素统计字符 0 的个数,用下标为 1 的元素统计字符 1 的个数#include void main() int a10=0,i; char c; while(c=getchar()!=n) if(c=0 & c=9) ac-0+; for(i=0;i=9;i+) printf(%d 字符的个数 :%dn,i,ai); 9.28 编写函数, 对具有 10 个整数的数组进行如下操作: 从下标为 n 的元素开始直到最后一个元素,依次向前移动一个位置。输出移动后的结果。#incl

2、ude #include void fun(int a, int n, int m)/m 代表数组的大小 int i; for(i=n;im;i+) ai-1=ai; for(i=0;im;i+) printf(%d ,ai); printf(n); void main() int a10,n,i; for(i=0;i=9;i+)/产生 10 个 039的随机数,并输出 ai=rand()%40; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - -

3、- - - - - printf(%d ,ai); printf(n); scanf(%d,&n);/ 指定 n 的值fun(a,n,10); 9.29 编写函数,把数组中所有奇数放在另一个数组中返回。#include #include void fun(int a, int b,int * n)/n代表 b 数组有效数的多少 int i,j=0; for(i=0;i10;i+) if(ai%2) bj+=ai; *n=j; void main() int a10,b10=0,i,n; for(i=0;i=9;i+)/产生 10 个 039的随机数,并输出 ai=rand()%40; prin

4、tf(%d ,ai); printf(n); fun(a,b,&n); for(i=0;in;i+) printf(%d ,bi); printf(n); 9.30 编写函数,对字符数组中的字母按由大到小的字母顺序进行排序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - #include #include void fun(char a, int n)/n 代表 a 数组的大小 int i,j; char c; for(i=0

5、;in-1;i+) for(j=i+1;jn;j+) if(aiaj) c=ai; ai=aj; aj=c; void main() char a10,i=0,n; while(ai+=getchar()!=n & i=9); / 排序前输出数组中字符for(i=0;i=9;i+) putchar(ai); printf(n); fun(a,10);/ 排序/ 排序后输出数组中字符for(i=0;i10;i+) printf(%c ,ai); printf(n); 9.31 输入若干个有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。请对插在最前,插在最后,插在

6、中间三种情况运行程序,以便验证程序是否正确。#include void main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - char a10,i,n,m,j; printf( 请输入有序数有多少个 n); scanf(%d,&n);/n 代表具体有多少个有序数,它应在19之间printf( 请输入 %d个有序数 :n,n); for(i=0;in;i+)/输入若干个有序的数 scanf(%d,&ai); printf

7、( 请输入要插入的数 :); scanf(%d,&m);/ 输入要插入的数/ 找位置for(i=0;im) break; / 空出位置for(j=n-1;j=i;j-) aj+1=aj; / 插入数 m ai=m; n+; / 输入后的数组元素for(i=0;in;i+) printf(%d ,ai); printf(n); 9.32 编写函数,把任意十进制正整数转换成二进制数。提示:把十进制数不断被 2 除的余数放在一个一维数组中,直到商为零。在主函数中进行输出,要求不得逆序输出。#include void dtob(int n,int a,int *m) int i=0,r,j; a0=n

8、%2; n=n/2; while(n0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - r=n%2;/求余for(j=i;j=0;j-) aj+1=aj;/ 所有数后移,空出最前面的位置a0=r;/ 放入新的余数i+; n=n/2; *m=i+1; void main() int a20,i,n,m; printf( 请输入一个任意整数 :); scanf(%d,&n);/n 代表要转换的整数dtob(n,a,&m);/m

9、存放转换后的二进制位数/ 输出结果printf(%d,n); for(i=0;im;i+) printf(%d,ai); printf(n); 9.33 编写函数,调用随机函数产生019 之间的随机数,在数组中存入15 个不重复的整数。要求在主函数中进行输出结果。#include #include void fun(int a, int n) int i=0,x,j; for(i=0;in;i+) x=rand()%20;/产生随机数/ 看是否有与前 a0到 ai-1相同for(j=0;j=i) ai=x; else i-; void main() int a15,i,n=15; fun(a,

10、n); / 输出结果for(i=0;i15;i+) printf(%d ,ai); printf(n); 9.34 求任意方阵每行、每列、两对角线上元素之和。#include #include #define N 6 void main() int aNN,i,j,sum; / 产生随机数放入方阵中 ,并显示for(i=0;iN;i+) for(j=0;jN;j+) aij=rand()%10; printf(%3d,aij); printf(n); / 计算行和for(i=0;iN;i+) sum=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

11、 - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - for(j=0;jN;j+) sum+=aij; printf( 第%d行的元素和 :%dn,i,sum); / 计算列和for(j=0;jN;j+) sum=0; for(i=0;iN;i+) sum+=aij; printf( 第%d列的元素和 :%dn,j,sum); / 计算两条对角线上元素之和sum=0; for(i=0;iN;i+) sum+=aii+aiN-1-i; if(N%2) sum-=aN/2N/2;/ 奇数方阵时,有个元素同时在两条线上pri

12、ntf( 对角线元素和 :%dn,sum); 9.35 求两个矩阵的和。#include #include void main() int a23,b23,c23,i,j; / 产生随机数放入矩阵a 中,并显示for(i=0;i2;i+) for(j=0;j3;j+) aij=rand()%10; printf(%3d,aij); printf(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - printf(=n); /

13、 产生随机数放入矩阵b 中,并显示for(i=0;i2;i+) for(j=0;j3;j+) bij=rand()%10; printf(%3d,bij); printf(n); printf(=n); / 计算矩阵和放入 c 数组中for(i=0;i2;i+) for(j=0;j3;j+) cij=aij+bij; printf(%3d,cij); printf(n); 9.36 九九乘法表#include #include void main() int i,j; printf( * * A MULTIPLICATION TABLE * * n); printf( ); for(i=1;i

14、=9;i+) printf(%d) ,i); printf(n-n); for(i=1;i=9;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - printf(%d),i); for(j=1;j=9;j+) printf(%5d,i*j); printf(n); printf(-n); 9.37 调用随机函数为5*4 的矩阵置 100 以内的整数,输出该矩阵,求出每行元素的之和,并把和值最大的那一行与第一行上的元素对调。

15、#include #include void main() int i,j,max,temp; int a54,b5=0; for(i=0;i5;i+) for(j=0;j4;j+) aij=rand()%100; bi+=aij;/ 计算行和printf(%3d,aij); printf(n); max=0;/找行和最大值for(i=0;ibmax) max=i; / 交换两行if(max!=0) for(j=0;j4;j+) temp=amaxj; amaxj=a0j; a0j=temp; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -

16、 - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - / 输出交换后的矩阵for(i=0;i5;i+) for(j=0;j4;j+) printf(%3d,aij); printf(n); 9.38 调用随机函数为5*5 的矩阵置 100 以内的整数,输出该矩阵,然后逆置该矩阵。#include #include void main() int i,j,temp; int a55; for(i=0;i5;i+)/产生方阵并输出 for(j=0;j5;j+) aij=rand()%100; printf(%3d,aij); prin

17、tf(n); / 逆置: 下三角与上三角的数据交换,对角线不放在内for(i=1;i5;i+) for(j=0;ji;j+) temp=aij; aij=aji; aji=temp; / 输出逆置的方阵printf(=n); for(i=0;i5;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - for(j=0;j5;j+) printf(%3d,aij); printf(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁