C语言程序改错基本题库完整Word下载.docx
- 文档编号:20210707
- 上传时间:2023-01-19
- 格式:DOCX
- 页数:16
- 大小:30.78KB
C语言程序改错基本题库完整Word下载.docx
《C语言程序改错基本题库完整Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序改错基本题库完整Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
5用指针作函数参数,对输入的两个整数按大小顺序输出。
swap(int*p1,*p2)int*p;
*p=*p1;
*p1=*p2;
*p2=*p;
main()inta,b;
int*q1,*q2;
scanf(%d,%d,&
&
q1=a,&
q2=b;
if(ab)swap(*q1,*q2);
printf(n%d,%dn,q1,q2);
前五题答案:
1.sum应初始化即加入sum=1第四行改为:
scanf(“%d”,&
n);
第六行改为:
while(i=n)第十行改为:
printf(sum=%ld,sum);
2.第四行改为:
for(j=0;
j5;
j+)第五行改为:
aj);
第七行改为:
j+)第八行改为:
if(maxaj)第十三行改为:
%dn最大值:
%d”,m,max)3.第三行改为:
第五行改为:
printf(“c=%d”,c);
4.第一行改为:
floatsum(floatx,floaty);
第四行改为:
return(z);
第八行:
floatc;
第十一行:
printf(nSumis%f,c);
5.第2、3行:
intt;
t=*p1;
*p2=t;
第9行:
q1=&
a,q2=&
b;
第10行:
if(ab)swap(q1,q2);
第11行:
printf(n%d,%dn,*q1,*q2);
6程序读入20个整数,统计非负数个数,并计算非负数之和.#include“stdio.h”main()inti,a20,s,count;
s=count=1;
s=count=0;
for(i=1;
i20;
i-)for(i=0;
i-)scanf(“%d”,ai);
ai);
for(i=0;
i+)if(ai0)break;
continue;
s+=ai;
count+;
printf(“s=%fcount=%fn”,s,count);
printf(“s=%dcount=%dn”,s,count);
7.x,y两个数中,让x中存较大的数,y存较小的数#includemain()intx,y=200,z=0;
x=180;
if(xy)z=x;
x=y;
y=z;
z=x;
printf(“x=%d,y=%dn”,&
x,&
y);
printf(“x=%d,y=%dn”,x,y);
8.从键盘输入整数x的值,并输出y的值.main()floatx,y;
正确的:
intx;
floaty;
x);
y=3.5+x;
printf(“y=%d”);
printf(“y=%f”,y);
9.从1加到100,并输出.Main()inti,sumi=1;
While(i=100)sum=sum*i;
printf(“%c”,sum)10、求一个44矩阵的对角线元素之和main()inta44,sum=0;
inti,j;
printf(“Enterdata:
n”);
i=4;
I+)for(j=0,j=4;
j+)scanf(“%d”,&
aij);
i4;
I+)for(j=0;
jn)sum=sum*i;
*13调用起泡法函数排序voidsort(inta,n);
inti,j,temp,*p;
ii;
j-)if(datajdataj-1)temp=aj;
aj=aj-1;
aj-1=temp;
main()intdata10;
*p=data;
printf(Pleaseinput10numbers:
iNUM;
i+,p+)scanf(%d,&
p);
p=&
data0;
sort(data10,10);
printf(ntheresultofsort:
i10;
i+)printf(%d,datai);
15.编程计算下面分段函数,输入x,输出ymain()intx,y;
printf(“nInputx:
scanf(“%d”,x);
if(x=0|x=10)y=2x-1;
elsey=3x-1;
printf(“y=%d”,&
16.求100300间能被3整除的数的和。
main()intn;
longsum;
for(n=100;
n=300;
n+)if(n%3=0)sum=sum*n;
printf(“%ld”,sum);
17.用函数实现两个整数的交换。
swap(int*p1,int*p2)int*p;
p=p1;
p1=p2;
p2=p;
printf(“nInputa,b:
”);
scanf(“%d,%d”,&
swap(&
printf(“n%d,%d”,a,b);
18.实现华氏温度转换为摄氏温度,公式为:
c=*(f-32),要求输出结果取2位小数。
main()intc,f;
printf(Pleaseenterf:
);
scanf(%f,&
f);
c=5/9*(f-32);
printf(f=%f,c=%f,c,f);
19下面程序的功能是计算n!
。
main()inti,n;
ints;
printf(Pleaseentern:
scanf(%d,n);
for(i=1;
i=n;
i+);
s=*i;
printf(%d!
=%d,i,s);
20编程计算12325292,要求输出中间计算结果。
main()inti,sum=0;
i=9;
i+2)sum+=i;
printf(sum=%d,sum);
21.求表达式的值#include#includeintfun(intx,inty);
floatf;
scanf(“%d,%d”,a,b);
if(ab0)f=fun(a,b);
printf(Theresultis:
%dn,&
f)elseprintf(“error!
fun(x,y)floatresult;
result=sqrt(a+b);
22、通过函数调用,求两个数之差sub(x,y)floatz;
z=x-y;
scanf(“%f,%f”,&
c=sub(a,b);
printf(“nSubis%f”,sub);
23、求1到100的累加和.main()inti,sumi=1;
while(i=100)sum=sum*i;
printf(“%c”,sum)24、一个小于1000的正整数每位上的数字是多少。
#includestdio.hmain()intn,i,j,k;
printf(Inputanumbern(0n1000):
if(n=1000)printf(error);
exit(0);
k=n%10.0;
j=(n%100)/10;
i=n/100;
printf(%s%s%sn,i,j,k);
25、输入三角形的三边长,求三角形的面积。
#includemain()floata,b,c,s,area;
scan(%d,%d,%d,a,b,c);
s=1.0/2*(a+b+c);
area=sqrt(s(s-a)(s-b)(s-c);
printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn,&
b,&
c,&
s);
printf(area=%7.2fn,&
area)26、求和1!
+2!
+3!
+4!
+20!
main()floats=0,t=0;
intn;
for(n=0;
n20;
n+)t=t+n;
s=s*t;
printf(1!
=%dn,s);
*27、下面程序实现的功能是求两整数的最小公倍数。
#includestdio.hmain()intm,n,result1;
resultprint(“inputtwointegers:
scaf(“%d%d”,m,n);
m,&
nresult=mn?
n:
m;
while(result%m!
=0)|(result%n=0)!
=result+;
printf(“Theleastcommonmultipleofmandnis%dn”,&
result);
result28下列程序实现按分数从高到低的顺序输出,划线处存在错误,请予以更正.#include#defineARR_SIZE40voidSort(floatscore,longnum,intn)main()floatscoreARR_SIZE;
intn,i;
longnumARR_SIZE;
printf(Pleaseentertotalnumber:
);
scanf(%dn,n);
printf(Pleaseenterthenumberandscore:
in;
i+)scanf(%ld%f,&
numi,&
scorei);
Sort(score,num,n);
printf(Sortedresults:
i+)printf(%ldt%4.0fn,numi,scorei);
voidSort(score,num,n)inti,j;
floattemp1;
longtemp2;
in-1;
i+)for(j=i;
j=n;
j+)if(scorejscorei)temp1=scorej;
scorej=scorei;
scorei=temp1;
temp2=numj;
numj=numi;
numi=temp2;
29.把用户输入的数据累加,直到输入零为止,输出累加的结果。
#includemain()inttsum=0,d;
printf(Enteraserialofnumbersendedby0:
while
(1)scanf(%d,d);
正确:
scanf(%d,&
d);
if(d=0)break;
d=0sum+=d;
printf(sum=%fn,sum);
printf(sum=%dn,sum);
30、求1+2+3+4+n(n100)#includefun(n);
main()intp,n;
p=intfun(n);
printf(p=%d,p);
intfun(intm)inttotal;
inti=1;
while(i=m)total=total+i;
32.求一个33矩阵的主对角线元素之和main()inta33;
intsum;
i3;
i+)for(j=0,j3,j+)scanf(“%f”,&
i+)for(j=0,j=3;
j+)if(i=j)sum+=aij;
printf(“sum=%5dn”,sum);
33.摄氏温度C=(5/9)(F-32),求华氏温度F=100时对应的摄氏温度。
#includevoidmain(void)intcelsius;
fahr;
fahr=100;
celsius=5*(fahr-32)/9;
printf(fahr=d,celsius=%dn,fahr,celsius);
二、下列程序有逻辑错误,请改正,使之能完成要求的功能1输入6个整数,按每行3个数输出这些整数,最后输出6个整数的平均值。
#includevoidmain()inti,a6,sum=0,n=0;
intav;
for(i=0;
in;
i+)scanf(%d,ai);
i+)printf(%d,ai);
if(i%3=0)printf(n);
i!
=n;
i+)sum+=ai;
av=sum/n;
printf(av=%fn,av);
2.输入一系列学生成绩,输入负数为止。
统计不及格的人数,计算平均分。
#include#defineARR_SIZE80voidmain()intscoreARR_SIZE;
inti;
intno_pass=0;
floatave;
printf(Pleaseinputthescore:
scorei);
while(scorei=0)if(scorei60)no_pass+;
ave=ave+scorei;
ave=ave/n;
printf(notpassnum:
%dn,no_pass);
printf(theaveis:
%fn,ave);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 改错 基本 题库 完整