C语言知识程序设计习题集试题(编程题)

C语言知识程序设计习题集试题(编程题)

ID:43428475

大小:49.50 KB

页数:12页

时间:2019-10-02

C语言知识程序设计习题集试题(编程题)_第1页
C语言知识程序设计习题集试题(编程题)_第2页
C语言知识程序设计习题集试题(编程题)_第3页
C语言知识程序设计习题集试题(编程题)_第4页
C语言知识程序设计习题集试题(编程题)_第5页
资源描述:

《C语言知识程序设计习题集试题(编程题)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.C语言程序设计习题(编程类)1、从键盘输入任意的字符,按下列规则进行分类计数。    第一类'0','1','2','3','4','5','6','7','8','9'    第二类'+','-','*','/','%','='    第三类其它字符当输入字符''时先计数,然后停止接收输入,打印计数的结果。参考答案:#includevoidmain(){intclass1,class2,class3;charch;class1=class2=class3=0;/*初始化分类计数器*/

2、do{ch=getch();switch(ch){case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':class1++;break;/*对分类1计数*/case'+':case'-':case'*':case'/':case'%':case'=':class2++;break;/*对分类2计数*/default:class3++;break;/*对分类3计数*/}}while(ch!='\');/*字

3、符''在C程序中要使用转义符'\'*/printf("class1=%d,class2=%d,class3=%d",class1,class2,class3);}2、从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。参考答案:voidmain(){inti,j,num,a[10];for(i=0;i<10;i++){printf("EnterNo.%d:",i+1);scanf("%d",&num);for(j=i-1;j>=0&&a[j]>num;j--)a[j

4、+1]=a[j];a[j+1]=num;}for(i=0;i<10;i++)printf("No.%d=%d",i+1,a[i]);}.3、输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。参考答案:voidmain(){intn;printf("Pleaseentern:");scanf("%d",&n);while(n>0){printf("%d",n%10);n=n/10;}}4、编写程序,读入一个整数N;若N为非负数,则计算N到2×N之间的整数和;若N为一个负数,则

5、求2×N到N之间的整数和。分别利用for和while写出两个程序。参考答案:voidmain(){inti,n;longs1=0,s2=0;printf("PleaseenterN:");scanf("%d",&n);if(n>=0)for(i=n;i<=2*n;i++)s1=s1+i;elsefor(i=n;i>=2*n;i--)s1=s1+i;i=n;if(i>=0)while(i<=2*n)s2=s2+i++;elsewhile(i>=2*n)s2=s2+i--;printf("Result1=%ldr

6、esult2=%ld",s1,s2);}5、一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。参考答案:voidmain(){inti,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*

7、a==n){printf("result=%d",i);break;}}}6、编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。参考答案:voidmain(){intf1,f2,f5,count=0;for(f5=0;f5<=20;f5++)for(f2=0;f2<=(100-f5*5)/2;f2++){f1=100-f5*5-f2*2;if(f5*5+f2*2+f1==100)printf("No.%2d>>5:%4d2:%2d1:%2d",++count,f5,f2,f1);}}

8、7、将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数,则称它为对称数。求不超过1993的最大的二进制的对称数。参考答案:voidmain(){inti,j,n,k,a[16]={0};for(i=1;i<=1993;i++){n=i;k=0;while(n>0)/*将十进制数转变为二进制数*/{a[k++]=n%2;n=n/2;}for(j=0;j

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。