- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上机操作题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进制码(字符’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个错误点)
#include stdio.h
void dec2hex(int n, char str[])
{
int m,i,j;
char t;
m=0;
do {
k = n % 16;
if(k9)
str[m]=0+k;
else
str[m]=A+k-10;
m++;
n = n / 16;
} while (n0);
str[m] = \0;
for (i=0,j=m-1;ij;i++,j--)
{
str[i]=t;
str[i]=str[j];
str[j]=t;
}
}
main()
{
char str[80];
int n;
scanf(%d,n);
str=dec2hex(n);
puts(str);
}
第2题(17分,源程序文件1-A-2.C )
上机要求:按程序功能要求编写程序,并将程序代码保存1-A-2.C 中。
程序功能:从键盘输入一个大于2的正整数n,求解并输出最接近n的素数(n不包括n)。
如输入:
17
则输出
13
再输入:
45
则输出
43
第3题(17分,源程序文件 1-A-3.C )
上机要求:按程序功能要求编写程序,并将程序代码保存1-A-3.C 中。
程序功能:从键盘上输入5个整数(设每个整数取值1至5),按示例格式输出5行数字图形,每行的数字及数字个数与输入数相对应。
如输入:
5 4 3 2 1
则输出(□表示空格,↙表示回车):
5□5□5□5□5↙
□4□4□4□4↙
□□3□3□3↙
□□□2□2↙
□□□□1↙
示例说明:输出共5行,居中对齐形状。输入的第1个数为5,则输出的第1行有5个5,数字之间含有1个空格,第1个5之前有5-5=0个空格;输入的第2个数为4,则输出的第2行有4个4,数字之间含有1个空格,第1个4之前有5-4=1个空格;以此类推。
再如输入:
2 3 2 1 2
则输出(□表示空格,↙表示回车):
□□□2□2↙
□□3□3□3↙
□□□2□2↙
□□□□1↙
□□□2□2↙
示例说明:输出共5行,居中对齐形状。输入的第1个数为2,则输出的第1行有2个2,数字之间含有1个空格,第1个2之前有5-2=3个空格;以此类推。
第4题(18分,源程序文件1-A-4.C )
从键盘输入一个字符串(不多于80个字符),分别在该字符串中的所有数字字符子串(即单个或多个连续的数字字符)前加入一个字符$,然后输出处理后的该字符串,如果该字符串中不包含有数字字符子串,则报告“There are no digits.”。例如,
输入:abcd4,Efghi*123p87KKK9034 6 xyz
输出:abcd$4,Efghi*$123p$87KKK$9034 $6 xyz
又如,
输入:abcd,Efghi*Pkkk #%xyz
输出:There are no digits.
上机操作题A卷,4题,共70分
参考答案
第1题(1-A-1.c)
修正程序
原代码
#include stdio.h
void dec2hex(int n, char str[])
{
int m,i,j,k; /***/
char t;
m=0;
do {
k=n%16;
if(k9) /***/
str[m]=0+k;
您可能关注的文档
最近下载
- 3.3《人间词话六则》课件-中职高二语文(高教版2024拓展模块上册).pptx
- 《人工智能应用导论》PPT全套完整教学课件.pptx VIP
- 体育课堂中团队合作游戏对团队意识培养的实践研究教学研究课题报告.docx
- 人工智能导论PPT全套课件.pptx VIP
- 3.2《文学作为语言艺术的独特地位》课件-中职高二语文(高教版2024拓展模块上册).pptx
- 医务科管理制度-标准版.doc VIP
- 初中英语阅读——篇章结构强化练习(附答案).pdf VIP
- 初中英语过去时强化练习(附答案).docx VIP
- 形容词和副词的比较级和最高级及专项练习(精品).doc VIP
- 2025年新版人教版四年级上册英语 四上Unit 5 The weather and us 单元整体教学设计.pdf VIP
文档评论(0)