实验改错填空题.docx
- 文档编号:11468448
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:17
- 大小:24.58KB
实验改错填空题.docx
《实验改错填空题.docx》由会员分享,可在线阅读,更多相关《实验改错填空题.docx(17页珍藏版)》请在冰豆网上搜索。
实验改错填空题
实验1
2.改错题
(1)下列程序的功能为:
计算x*y的值并将结果输出。
试纠正程序中存在错误,以实现其功能。
程序以文件名保存。
#include<>
main
{
intx=2;y=3;a
A=x*y
print('a=%d",a);
printf("\n");
}
#include<>
main()
{
intx=2,y=3,a;
a=x*y;
printf("a=%d",a);
printf("\n");
}
(2)下列程序的功能为:
求两数中的较大数据并输出。
试纠正程序中存在错误,以实现其功能。
程序以文件名保存。
#include<>
viodmain()
{
inta,b,max;
Scanf("%d,%d",&a,&b);
Max=a;
If(max
Printf("max=%d\n",max);
}
#include<>
voidmain()
{
inta,b,max;
scanf("%d,%d",&a,&b);
max=a;
if(max
printf("max=%d",max);
}
3.填空题
(1)从键盘输入两个整数,输出这两个整数的和。
根据注释信息填写完整程序,以实现其功能。
程序以文件名保存。
#include<>
main()
{
intx,y,total;/*定义整型变量x,y,total*/
printf("Pleaseinputx,y!
");/*输出提示信息*/
printf("Pleaseinputx,y!
");/*由键盘输入两个数分别赋予x和y*/
scanf("%d,%d",&x,&y);
total=x+y;/*赋值语句*/
printf("%d+%d=%d\n",x,y,total);/*输出两个整数的和*/
}
(2)从键盘输入两个整数,输出这两个整数的差。
根据注释信息填写完整程序,以实现其功能。
程序以文件名保存。
#include<>
main()
{
inta,b,m;
printf("Inputa,bplease!
");
scanf("%d%d",&a,&b);
m=a-b;/*赋值语句,将a和b的差值赋给m*/
printf("%d-%d=%d\n",a,b,m);/*输出a和b差的结果值后换行*/
}
实验3
1.改错题
(1)下列程序的功能为:
输入一个华氏温度,要求输出摄氏温度。
公式为:
C=
,输出取2位小数。
请纠正程序中存在的错误,使程序实现其功能,程序以文件名保存。
#include<>
main()
{
floatc,f;
printf("请输入一个华氏温度:
\n");
scanf("%f",f);
c==(5/9)*(f-32);
printf("摄氏温度为:
%\n"c);
}
#include<>
main()
{
floatc,f;
printf("请输入一个华氏温度:
\n");
scanf("%f",&f);
c=9)*(f-32);
printf("摄氏温度为:
%\n",c);
}
(2)下列程序的功能为:
按下列公式计算并输出x的值。
其中a和b的值由键盘输入。
x=2ab/(a+b)2
请纠正程序中存在的错误,使程序实现其功能,程序以文件名保存。
#include<>
main()
{
inta,b;
floatx;
scanf("%d,%d",a,b);
x=2ab/(a+b)(a+b);
printf("x=%d\n",x);
}
#include<>
main()
{
inta,b;
floatx;
scanf("%d,%d",&a,&b);
x=*a*b/((a+b)*(a+b));
printf("x=%f\n",x);
}
(3)下列程序的功能为:
从键盘输入一个小写字母,要求改用大写字母输出。
纠正程序中存在的错误,以实现其功能,程序以文件名保存。
#include<>
main()
{
charc1,c2;
c1=getchar;
printf("%c,%d\n",c1,c1);
c2=c1+26;
printf("%c,%d\n",c2,c2);
}
#include<>
main()
{
charc1,c2;
c1=getchar();
printf("%c,%d\n",c1,c1);
c2=c1-32;
printf("%c,%d\n",c2,c2);
}
2.程序填空
(1)下列程序的功能为:
给定格式输入数据,按要求格式输出结果,补充完善程序,以实现其功能,程序以文件名保存。
输入形式enterx,y:
2
输出形式x+y=
#include<>
main()
{
intx;
floaty;
printf("enterx,y:
");
scanf("%d%f",&x,&y);
printf("x+y=%.1f\n",x+y);
}
(2)下列程序的功能为:
设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据r、h,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
(周长l=2
,圆面积s=
,圆球表面积sq=
,圆球体积vq=
;圆柱体积vz=
)
请填写适当的符号或语句,使程序实现其功能,程序以文件名保存。
#include<>
main()
{
floatpi,h,r,l,s,sq,vq,vz;
pi=;
printf("请输入圆半径r,圆柱高h:
\n");
scanf("%f%f",&r,&h);
l=2*pi*r;
s=pi*r*r;
sq=4*pi*r*r;
vq=4*pi*r*r*r;
vz=pi*h*r*r;
printf("圆周长为:
%.2f\n",l);
printf("圆面积为:
%.2f\n",s);
printf("圆球表面积为:
%.2f\n",sq);
printf("圆球体积为:
%.2f\n",vq);
printf("圆柱体积为:
%.2f\n",vz);
}
(3)下列程序的功能为:
通过键盘输入两个整数,分别存入变量x,y中,通过中间变量t互换x,y之值,并输出之。
请填写适当的符号或语句,使程序实现其功能,程序以文件名保存。
#include<>
main()
{
intx,y,t;
printf("请输入x,y:
\n");
scanf("%d%d",&x,&y);
if(x {t=x;x=y;y=t;} 充完善程序,以实现其功能。 程序以文件名保存。 #include<> main() { inti,j; for(i=0;i<10;i++) { j=i*10+6; if(j%3! =0)continue; printf("%d",j); } printf("\n"); } 实验6 1.改错题 (1)下列程序的功能为: 为指定的数组输入10个数据,并求这些数据之和。 纠正程序中存在的错误,以实现其功能。 程序以文件名保存。 #include<> voidmain() { intn=10,i,sum=0; inta[n]; for(i=0;i<10;i++) { scanf("%d",a[i]); sum=sum+a[i]; } printf("sum=%d\n",sum); } #include<> voidmain() { intn=10,i,sum=0; inta[10]; for(i=0;i<10;i++) { scanf("%d",&a[i]); sum=sum+a[i]; } printf("sum=%d\n",sum); } (2)下列程序的功能为: 将字符串b连接到字符串a。 纠正程序中存在的错误,以实现其功能。 程序以文件名保存。 #include<> voidmain() { chara[]="wel",b[]="come"; inti,n=0; while(! a[n])n++; for(i=0;b[i]! ='\0';i++) a[n+i]=b[i]; a[n+i]=’\0’; printf("%s\n",a); } #include<> voidmain() { chara[10]="wel",b[]="come"; inti,n=0; while(a[n]! ='\0')n++; for(i=0;b[i]! ='\0';i++) a[n+i]=b[i]; a[n+i]=’\0’; printf("%s\n",a); } (3)下列程序的功能为: 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。 也可能没有鞍点。 纠正程序中存在的错误,以实现其功能。 程序以文件名保存。 #include<> #defineN4 #defineM4 main() { inti,j,k,flag1,flag2,a[N][M],max,maxj; for(i=0;i for(j=0;j scanf("%d",&a[i][j]); flag2=0;//1, for(i=0;i { max=a[j][0]; maxj=0;//i for(j=0;j if(a[i][j]>max) { max=a[i][j]; maxj=j; } for(k=0,flag1=1;k if(max>a[k][maxj]) flag1=0; if(flag1) { printf("\nThesaddlepointis: a[%d][%d]=%d\n",i,maxj,max); flag2=1;//0 } } if(flag2) printf("\nThereisnosaddlepointintheMatrix\n"); } #include<> #defineN4 #defineM4 main() { inti,j,k,flag1,flag2,a[N][M],max,maxj; for(i=0;i for(j=0;j scanf("%d",&a[i][j]); flag2=0; for(i=0;i { max=a[i][0]; maxj=0; for(j=0;j if(a[i][j]>max) { max=a[i][j]; maxj=j; } for(k=0,flag1=1;k if(max>a[k][maxj])flag1=0; if(flag1) { printf("\nThesaddlepointis: a[%d][%d]=%d\n",i,maxj,max); flag2=1; } } if(! flag2) printf("\nThereisnosaddlepointintheMatrix\n"); } 2.程序填空题 (1)以下程序的功能是: 采用二分法在给定的有序数组中查找用户输入的值,并显示查找结果。 补充完善程序,以实现其功能。 程序以文件名保存。 #include"" #defineN10 main() { inta[]={0,1,2,3,4,5,6,7,8,9},k; intlow=0,high=N-1,mid,find=0; printf("请输入欲查找的值: \n"); scanf("%d",&k); while(low<=high) { mid=(low+high)/2; if(a[mid]==k) { printf("找到位置为: %d\n",mid+1);find=1; } if(a[mid]>k) high=mid-1; else low=mid+1; } if(! find)printf("%d未找到\n",k); } (2)以下程序的功能是: 求3个字符串(每串不超过20个字符)中的最大者。 补充完善程序,以实现其功能。 程序以文件名保存。 #include<> #include<> voidmain() { charstring[20],str[3][20]; inti; for(i=0;i<3;i++)gets(str[i]); if(strcmp(str[0],str[1])>0)strcpy(string,str[0]); elsestrcpy(string,str[1]); if(strcmp(string,str[0])<0)strcpy(string,str[2]); puts(string); } (3)下列程序的功能为: 从键盘输入20个整数,统计非负数个数,并计算非负数之和。 补充完善程序,以实现其功能。 程序以文件名保存。 #include<> main() { inti,a[20],sum=0,count=0; for(i=0;i<20;i++) scanf("%d",&a[i]); for(i=0;i<20;i++) { if(a[i]<0) continue; sum+=a[i]; count++; } printf("s=%d\tcount=%d\n",sum,count); } 实验7 1.改错题 (1)下列sub函数的功能为: 将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。 例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。 纠正程序中存在的错误,以实现其功能。 程序以文件名存盘。 #include<> #include<> voidsub(chars[],chart[]) { inti,d; d=strlen(s); for(i=1;i t[i]=s[d-1-i]; for(i=0;i t[d+i]=s[i]; t[2*d]='/0'; } main() { chars[100],t[100]; printf("Pleaseenterstrings: "); scanf("%s",s); sub(s,t); printf("\nTheresultis: %s\n",t); } #include<> #include<> voidsub(chars[],chart[]) { inti,d; d=strlen(s); for(i=0;i t[i]=s[d-1-i]; for(i=0;i t[d+i]=s[i]; t[2*d]='\0'; } main() { chars[100],t[100]; printf("Pleaseenterstrings: "); scanf("%s",s); sub(s,t); printf("\nTheresultis: %s\n",t); } (2)下列程序的功能为: 将字符数组中的字符串逆序输出。 纠正程序中存在的错误,以实现其功能。 程序以文件名存盘。 #include<> #include<> #defineARR_SIZE80 voidInverse(charstr[]); voidmain() { chara[ARR_SIZE]; printf("Pleaseenterastring: "); gets(a); Inverse(chara[]); printf("Theinversedstringis: "); puts(a); } voidInverse(charstr[]) { intlen,i=0,j; chartemp; len=strlen(str); for(j=len-1;i { temp=str[i]; str[j]=str[i]; str[j]=temp; } } #include<> #include<> #defineARR_SIZE80 voidInverse(charstr[]); voidmain() { chara[ARR_SIZE]; printf("Pleaseenterastring: "); gets(a); Inverse(a); printf("Theinversedstringis: "); puts(a); } voidInverse(charstr[]) { intlen,i=0,j; chartemp; len=strlen(str); for(j=len-1;i { temp=str[i]; str[i]=str[j]; str[j]=temp; } } (3)下列程序的功能为: 求整数n的阶乘。 纠正程序中存在的错误,以实现其功能。 程序以文件名存盘。 #include<> intfun(intn) { staticintp=1; p=p*n; returnp; } voidmain() { intn,i; intf=0; printf("inputmember: "); scanf("%d",&n); for(i=1;i<=n;i++) f=f*fun(i); printf("%d! =%d\n",n,f); } #include<> intfun(intn) { staticintp=1; p=p*n; returnp; } voidmain() { intn,i; intf=1; printf("inputmember: "); scanf("%d",&n); for(i=1;i<=n;i++) f=fun(i); printf("%d! =%d\n",n,f); } 2.程序填空题 (1)下列sum()函数的功能是: 计算数组x前n个元素之和。 在主函数中,输入10个任意整数和下标i1、i2的值(设1≤i1≤i2≤9),调用sum()函数计算从第i1元素到第i2元素的和,并输出结果。 补充完善程序,以实现其功能。 程序以文件名存盘。 #include<> intsum(intx[],intn) { inti,s=0; for(i=0;i s=s+x[i]; returns; } voidmain() { inti,i1,i2,result; intx[10]; for(i=0;i<10;i++) scanf("%d",&x[i]); scanf("%d%d",&i1,&i2); result=sum(x+i1,i2-i1+1); printf("Sum=%d\n",result); } (2)下列程序的功能为: 输入一个字符数小于100的字符串string,然后将string所存盘字符串中的每个字符之间加一个空格。 补充完善程序,以实现其功能。 程序以文件名存盘。 #include<> #include<> #defineMAX100 voidinsert(chars[]); main() { charstring[MAX]; scanf("%s",string); insert(string); printf("%s",string); } voidinsert(charsrcStr[]) { charstrTemp[MAX]; inti=0,j=0; strcpy(strTemp,srcStr); while(strTemp[j]! ='\0') { srcStr[i]=strTemp[j]; i++; j++; srcStr[i]=''; i++; } srcStr[i]='\0'; } (3)下列程序的功能为: 输出如下图形,补充完善程序,以实现其功能。 程序以文件名保存。 1 222 33333 4444444 5 666 77777 666 5 4444444 33333 222 1 #include<> voida(inti) { intj,k; for(j=1;j<=30-i;j++)printf("%c",''); for(k=1;k<=2*i-1;k++)printf("%c",i+48); printf("\n"); } voidmain() { inti; for(i=1;i<=7;i++)a(i); for(i=6;i>=1;i--)a(i); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 改错 填空
![提示](https://static.bdocx.com/images/bang_tan.gif)