C语言习题及答案.doc

C语言习题及答案.doc

ID:57695388

大小:104.50 KB

页数:10页

时间:2020-09-01

C语言习题及答案.doc_第1页
C语言习题及答案.doc_第2页
C语言习题及答案.doc_第3页
C语言习题及答案.doc_第4页
C语言习题及答案.doc_第5页
资源描述:

《C语言习题及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、上机操作题A卷,4题,共70分第1题(18分源程序文件1-A-1.C)上机要求:下列程序包含4个错误,请输入该程序的代码,找出并更正程序错误,在修改行代码后增加“/***/”注释,将修改后的源程序保存1-A-1.C中。程序改错时不允许改变大的程序结构(如函数调用关系与循环结构等)。程序功能:从键盘上输入一个整数,转换为16进制串并输出。如输入:90则输出:5A再如输入:1234则输出:4D2函数说明:函数dec2hex将整数n转换为16进制的字符串并存贮于str数组。(1)依次计算n的16进制最低位(变量k),转换为16进制码(字符

2、’0’至’9’或’A’至’F’)存贮于str数组,完成一位后,n除16以去掉最低位,然后循环求解更高位。(2)使用for循环逆序str数组,变量i从0递增,变量j从m-1递减,交换str[i]与str[j]。主函数main输入一个整数,调用dec2hex函数转换为16进制串,然后输出该字符串。带错误原程序:(函数dec2hex包含3个错误点,main包含1个错误点)#includevoiddec2hex(intn,charstr[]){intm,i,j;chart;m=0;do{k=n%16;if(k>9)str[

3、m]='0'+k;elsestr[m]='A'+k-10;m++;n=n/16;}while(n>0);str[m]='';for(i=0,j=m-1;i

4、个大于2的正整数n,求解并输出最接近n的素数(

5、有5个5,数字之间含有1个空格,第1个5之前有5-5=0个空格;输入的第2个数为4,则输出的第2行有4个4,数字之间含有1个空格,第1个4之前有5-4=1个空格;以此类推。再如输入:23212则输出(□表示空格,↙表示回车):□□□2□2↙□□3□3□3↙□□□2□2↙□□□□1↙(101操作题)10/10□□□2□2↙示例说明:输出共5行,居中对齐形状。输入的第1个数为2,则输出的第1行有2个2,数字之间含有1个空格,第1个2之前有5-2=3个空格;以此类推。第4题(18分,源程序文件1-A-4.C)从键盘输入一个字符串(不多于8

6、0个字符),分别在该字符串中的所有数字字符子串(即单个或多个连续的数字字符)前加入一个字符$,然后输出处理后的该字符串,如果该字符串中不包含有数字字符子串,则报告“Therearenodigits.”。例如,输入:abcd4,Efghi*123p87KKK90346xyz输出:abcd$4,Efghi*$123p$87KKK$9034$6xyz又如,输入:abcd,Efghi*Pkkk#%xyz输出:Therearenodigits.上机操作题A卷,4题,共70分参考答案第1题(1-A-1.c)修正程序原代码#include

7、io.h>voiddec2hex(intn,charstr[]){intm,i,j,k;/***/chart;m=0;do{k=n%16;if(k<9)/***/intm,i,j;缺变量定义k>9(101操作题)10/10str[m]='0'+k;elsestr[m]='A'+k-10;m++;n=n/16;}while(n>0);str[m]='';for(i=0,j=m-1;i

8、scanf("%d",&n);dec2hex(n,str);/***/puts(str);return0;}str[i]=t;赋值方向错误str=dec2hex(n);调用错误第2题(1-A-2.c)/*1-A-2*/#include

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

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

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