C语言程序的设计习题试题编程题资料全.doc
《C语言程序的设计习题试题编程题资料全.doc》由会员分享,可在线阅读,更多相关《C语言程序的设计习题试题编程题资料全.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C C 语言程序设计习题(编程类)语言程序设计习题(编程类)1、从键盘输入任意的字符,按下列规则进行分类计数。第一类 0,1,2,3,4,5,6,7,8,9第二类+,-,*,/,%,=第三类 其它字符当输入字符时先计数,然后停止接收输入,打印计数的结果。参考答案:#include void main()int class1,class2,class3;char ch;class1=class2=class3=0;/*初始化分类计数器*/do ch=getch();switch(ch)case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:
2、case 8:case 9:class1+;break;/*对分类计数*/case+:case-:case*:case/:case%:case=:class2+;break;/*对分类计数*/default:class3+;break;/*对分类计数*/while(ch!=);/*字符在 C 程序中要使用转义符*/printf(class1=%d,class2=%d,class3=%dn,class1,class2,class3);2、从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。参考答案:void main()int i,j,num,a10;for(
3、i=0;i=0&ajnum;j-)aj+1=aj;aj+1=num;for(i=0;i0)printf(%d,n%10);n=n/10;4、编写程序,读入一个整数;若为非负数,则计算到 2之间的整数和;若为一个负数,则求到之间的整数和。分别利用 for 和 while 写出两个程序。参考答案:void main()int i,n;long s1=0,s2=0;printf(Please enter N:);scanf(%d,&n);if(n=0)for(i=n;i=2*n;i-)s1=s1+i;i=n;if(i=0)while(i=2*n)s2=s2+i-;printf(Result1=%ld
4、 result2=%ldn,s1,s2);5、一个自然数被 8 除余 1,所得的商被 8 除也余 1,再将第二次的商被 8 除后余 7,最后得到一个商为。又知这个自然数被 17 除余 4,所得的商被 17 除余 15,最后得到一个商是的2 倍。编写程序求这个自然数。参考答案:void main()int i,n,a;for(i=0;i+)if(i%8=1)n=i/8;if(n%8=1)n=n/8;if(n%8=7)a=n/8;if(i%17=4)n=i/17;if(n%17=15)n=n/17;if(2*a=n)printf(result=%dn,i);break;6、编写程序,输出用一元人民
5、币兑换成 1 分、2 分和 5 分硬币的不同兑换方法。参考答案:void main()int f1,f2,f5,count=0;for(f5=0;f5=20;f5+)for(f2=0;f2 5:%4d 2:%2d 1:%2dn,+count,f5,f2,f1);7、将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数,则称它为对称数。求不超过 1993 的最大的二进制的对称数。参考答案:void main()int i,j,n,k,a16=0;for(i=1;i0)/*将十进制数转变为二进制数*/ak+=n%2;n=n/2;for(j=0;j=k)printf(%d:,i)
6、;for(j=0;jk;j+)printf(%2d,aj);printf(n);8、十个小孩围成一圈分糖果,老师分给第一个小孩 10 块,第二个小孩 2 块,第三个小孩 8 块,第四个小孩 22 块,第五个小孩 16 块,第六个小孩 4 块,第七个小孩 10 块,第八个小孩 6 块,第九个小孩 14 块,第十个小孩 20 块。然后所有的小孩同时将自己手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次调整后大家手中的糖的块数都一样?每人各有多少块糖?参考答案:void main()int i,count=0,a11=0,10,2,8,22,16,4,10,6,14,20;
7、while(1)for(i=1;i=10;i+)ai-1=ai-1/2+ai/2;a10=a10/2+a0;for(i=1;i=10;i+)if(ai%2=1)ai+;for(i=1;i10;i+)if(ai!=ai+1)break;if(i=10)break;else a0=0;count+;printf(count=%d number=%dn,count,a1);9、输入 55 的数组,编写程序实现:(1)求出对角线上各元素的和;(2)求出对角线上行、列下标均为偶数的各元素的积;(3)找出对角线上其值最大的元素和它在数组中的位置。参考答案:void main()int i,j,s1=0,s
8、2=1,a55;for(i=0;i5;i+)for(j=0;j5;j+)printf(%d%d:,i,j);scanf(%d,&aij);for(i=0;i5;i+)for(j=0;j5;j+)printf(%5d,aij);printf(n);j=0;for(i=0;iajj)j=i;printf(SUN=%dnACCOM=%dna%d=%dn,s1,s2,j,ajj);10、编写程序,以字符形式输入一个十六进制数,将其变换为一个十进制整数后输出。参考答案:#include stdio.hvoid main()int i,n=0,a4=0;printf(Please enter a digi
9、t:);for(i=0;i4&(ai=getchar()!=n;i+);for(i=0;i=48&ai=65&ai=97&ai=102)ai=ai-87;else printf(input Error!);for(i=0;i0)/*将十进制数转变为二进制数*/a-k=n%2;n=n/2;for(i=0;i16;i+)printf(%2d,ai);12、对数组 A 中的 N(0N100个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组中元素的顺序,且相同的整数要具有相同的编号。例如数组是:A=(5,3,4,7,3,5,6)则输出为:(3,1,2,5,1,3,4)参考答案:void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 设计 习题 试题 编程 资料
限制150内