C语言习题及答案97310Word下载.docx
- 文档编号:17980737
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:14
- 大小:19.23KB
C语言习题及答案97310Word下载.docx
《C语言习题及答案97310Word下载.docx》由会员分享,可在线阅读,更多相关《C语言习题及答案97310Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
chart;
m=0;
do{
k=n%16;
if(k>
9)
str[m]='
0'
+k;
else
A'
+k-10;
m++;
n=n/16;
}while(n>
0);
str[m]='
\0'
;
for(i=0,j=m-1;
i<
j;
i++,j--)
{
str[i]=t;
str[i]=str[j];
str[j]=t;
}
}
main()
charstr[80];
intn;
scanf("
%d"
&
n);
str=dec2hex(n);
puts(str);
第2题(17分,源程序文件)
按程序功能要求编写程序,并将程序代码保存中。
从键盘输入一个大于2的正整数n,求解并输出最接近n的素数(<
n不包括n)。
17
则输出
13
再输入:
45
43
第3题(17分,源程序文件)
从键盘上输入5个整数(设每个整数取值1至5),按示例格式输出5行数字图形,每行的数字及数字个数与输入数相对应。
54321
则输出(□表示空格,↙表示回车):
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个空格;
以此类推。
23212
输入的第1个数为2,则输出的第1行有2个2,数字之间含有1个空格,第1个2之前有5-2=3个空格;
第4题(18分,源程序文件)
从键盘输入一个字符串(不多于80个字符),分别在该字符串中的所有数字字符子串(即单个或多个连续的数字字符)前加入一个字符$,然后输出处理后的该字符串,如果该字符串中不包含有数字字符子串,则报告“Therearenodigits.”。
例如,
输入:
abcd4,Efghi*123p87KKK90346xyz
输出:
abcd$4,Efghi*$123p$87KKK$9034$6xyz
又如,
abcd,Efghi*Pkkk#%xyz
Therearenodigits.
参考答案
第1题()
修正程序
原代码
intm,i,j,k;
/***/
k=n%16;
if(k<
9)/***/
t=str[i];
dec2hex(n,str);
return0;
intm,i,j;
缺变量定义
k>
9
str[i]=t;
赋值方向错误
str=dec2hex(n);
调用错误
第2题()
/*1-A-2*/
intmain()
{inti,j,n;
for(i=n-1;
i>
1;
i--)
{for(j=2;
j<
i;
j++)
if(i%j==0)break;
if(i==j)break;
printf("
%d\n"
i);
return0;
第3题()
#include"
"
inti,j,a[5];
for(i=0;
5;
i++)
a+i);
{for(j=0;
5-a[i];
printf("
"
);
for(j=0;
a[i];
%d"
a[i]);
\n"
第4题()
/*1-A-4
(1)*/
Intmain()
{chara[81]={0},b[81]={0};
inti,j,d=0;
gets(a);
for(j=i=0;
{if(a[i]<
'
||a[i]>
9'
)
d=0;
elseif(d==0)
{d=1;
b[j++]='
$'
b[j++]=a[i];
if(i==j)
puts("
Therearenodigits."
else
puts(b);
/*1-A-4
(2)*/
inti,j;
{b[j++]=a[i];
continue;
for(b[j++]='
a[i]>
='
&
a[i]<
i--;
上机操作题B卷,4题,共70分
第1题(18分源程序文件E:
\answer\),
下列程序包含4个错误,请输入该程序的代码,找出并更正程序错误,在修改行代码后增加“/***/”注释,将修改后的源程序保存到E:
\answer\中。
从键盘上输入一个16进制串,转换为10进制整数并输出。
函数hex2dec将16进制字符串str转换为10进制的整数并返回。
主函数main输入一个字符串,调用hex2dec函数转换16进制串,然后输出整数。
(函数hex2dec包含3个错误点,main包含1个错误点)
inthex2dec(char*str)
intm,i,k;
m=1;
for(i=0,str[i]!
i++)
if(str[i]>
&
str[i]<
k=str[i]-'
elseif(str[i]>
F'
+10;
a'
f'
k=str[i]-a+10;
returnm;
m=16*m+k;
returnm;
gets(str[80]);
n=hex2dec(str);
n);
第2题(7分,源程序文件)
按程序功能要求编写程序,并将程序代码保存到E:
从键盘输入一个大于2的正整数n,求解并输出最接近n的素数(>
例如:
17输出:
19
45输出:
47
第3题(10分,源程序文件E:
\answer\)
□□4□4□4□4↙
□□□□3□3□3↙
□□□□□□2□2↙
□□□□□□□□1↙
输出共5行,右对齐形状。
输入的第1个数为5,则输出的第1行有5个5,数字之间含有1个空格,第1个5之前有2*(5-5)=0个空格;
输入的第2个数为4,则输出的第2行有4个4,数字之间含有1个空格,第1个4之前有2*(5-4)=2个空格;
23432
输入的第1个数为2,则输出的第1行有2个2,数字之间含有1个空格,第1个2之前有2*(5-2)=6个空格;
第4题(源程序文件E:
\answer\),20分
从键盘输入一个字符串(不多于80个字符),分别在该字符串中的所有小写字母字符子串(即单个或多个连续的小写字母字符)前加入一个字符#,然后输出处理后的该字符串,如果该字符串中不包含有小写字母字符子串,则报告“Therearenolowercaseletters.”。
a,Efghi*123p87KKKxyz
则输出:
#a,E#fghi*123#p87KKK#xyz
1234,ABCD$#*!
(100%)&
KK
Therearenolowercaseletters.
/***/
for(i=0;
str[i]!
i++)/***/
gets(str);
m=1;
初始化错误
for(i=0,str[i]!
分号错误
k=str[i]-a+10;
缺单引号
gets(str[80]);
多数组下标
for(i=n+1;
i<
i++)
j<
j++)
a[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题 答案 97310