实验改错填空题.docx
- 文档编号:16826678
- 上传时间:2023-07-17
- 格式:DOCX
- 页数:26
- 大小:31.68KB
实验改错填空题.docx
《实验改错填空题.docx》由会员分享,可在线阅读,更多相关《实验改错填空题.docx(26页珍藏版)》请在冰点文库上搜索。
实验改错填空题
实验1
2.改错题
(1)下列程序的功能为:
计算x*y的值并将结果输出。
试纠正程序中存在错误,以实现其功能。
程序以文件名sy1_2.c保存。
#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)下列程序的功能为:
求两数中的较大数据并输出。
试纠正程序中存在错误,以实现其功能。
程序以文件名sy1_3.c保存。
#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)从键盘输入两个整数,输出这两个整数的和。
根据注释信息填写完整程序,以实现其功能。
程序以文件名sy1_4.c保存。
#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)从键盘输入两个整数,输出这两个整数的差。
根据注释信息填写完整程序,以实现其功能。
程序以文件名sy1_5.c保存。
#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位小数。
请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy3_1.c保存。
#include
main()
{
floatc,f;
printf("请输入一个华氏温度:
\n");
scanf("%f",f);
c==(5/9)*(f-32);
printf("摄氏温度为:
%5.2f\n"c);
}
#include
main()
{
floatc,f;
printf("请输入一个华氏温度:
\n");
scanf("%f",&f);
c=(5.0/9)*(f-32);
printf("摄氏温度为:
%5.2f\n",c);
}
(2)下列程序的功能为:
按下列公式计算并输出x的值。
其中a和b的值由键盘输入。
x=2ab/(a+b)2
请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy3_2.c保存。
#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=2.0*a*b/((a+b)*(a+b));
printf("x=%f\n",x);
}
(3)下列程序的功能为:
从键盘输入一个小写字母,要求改用大写字母输出。
纠正程序中存在的错误,以实现其功能,程序以文件名sy3_3.c保存。
#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)下列程序的功能为:
给定格式输入数据,按要求格式输出结果,补充完善程序,以实现其功能,程序以文件名sy3_4.c保存。
输入形式enterx,y:
23.4
输出形式x+y=5.4
#include
main()
{
intx;
floaty;
printf("enterx,y:
");
scanf("%d%f",&x,&y);
printf("x+y=%.1f\n",x+y);
}
(2)下列程序的功能为:
设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据r、h,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
(周长l=2
,圆面积s=
,圆球表面积sq=
,圆球体积vq=
;圆柱体积vz=
)
请填写适当的符号或语句,使程序实现其功能,程序以文件名sy3_5.c保存。
#include
main()
{
floatpi,h,r,l,s,sq,vq,vz;
pi=3.1415926;
printf("请输入圆半径r,圆柱高h:
\n");
scanf("%f%f",&r,&h);
l=2*pi*r;
s=pi*r*r;
sq=4*pi*r*r;
vq=3.0/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之值,并输出之。
请填写适当的符号或语句,使程序实现其功能,程序以文件名sy3_6.c保存。
#include
main()
{
intx,y,t;
printf("请输入x,y:
\n");
scanf("%d%d",&x,&y);
if(x {t=x;x=y;y=t;}//x与y交换 printf("交换后的x: %dy: %d\n",x,y); } 实验4 1.改错题 (1)下列程序的功能为: 输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如: 输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy4_1.c保存。 #include main() { charch,c1,c2; printf("Enteracharacter: "); ch=getchar(); if((ch>='a')||(ch<='z')) ch-=32; c1=ch-1; c2=ch+1; if(ch='A')c1=ch+25; elseif(ch='Z')c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar('\n'); } #include main() { charch,c1,c2; printf("Enteracharacter: "); ch=getchar(); if((ch>='a')&&(ch<='z')) ch-=32; c1=ch-1; c2=ch+1; if(ch=='A')c1=ch+25; elseif(ch=='Z')c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar('\n'); } (2)下列程序的功能为: 输入3个整数后,输出其中最大值。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy4_2.c保存。 #include main() { inta,b,c,max; printf("请输入3个整数: \n"); scanf("%d%d%d",&a,&b,&c); max=a; if(c>b) {if(b>a)max=c;} else {if(c>a)max=b;} printf("3个数中最大者为: %d\n",max); } #include"stdio.h" main() { inta,b,c,max; printf("请输入3个整数: \n"); scanf("%d%d%d",&a,&b,&c); max=a; if(c>b) {if(b>a)max=c;} else {if(b>a)max=b;} printf("3个数中最大者为: %d\n",max); } (3)下列程序的功能为: 输入1-4月份号,输出该月份对应的英语表示法。 例如,输入“3”,则输出“Mar”。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy4_3.c保存。 #include main() { charm; printf("inputthemonthnumber: \n"); scanf("%c",&m); switch(m) { case1: printf("Jan"); case2: printf("Feb"); case3: printf("Mar"); case4: printf("Apr"); } } #include"stdio.h" main() { charm; printf("inputthemonthnumber: \n"); scanf("%c",&m); switch(m) { case'1': printf("Jan\n");break; case'2': printf("Feb\n");break; case'3': printf("Mar\n");break; case'4': printf("Apr\n");break; default: break; } } 2.程序填空题 (1)下列程序的功能为: 判断从键盘上输入的一个字符,并按下列要求输出。 若该字符是数字,输出字符串"0-9" 若该字符是大写字母,输出字符串"A-Z" 若该字符是小写字母,输出字符串"a-z" 若该字符是其他字符,输出字符串"! ,@,…" 补充完善程序,以实现其功能。 程序以文件名sy4_4.c保存。 #include main() { charc; scanf("%c",&c); if('0'<=c&&c<='9') printf("0-9\n"); elseif('A'<=c&&c<='Z') printf("A-Z\n"); elseif('a'<=c&&c<='z') printf("a-z\n"); else printf("! ,@,…\n"); } (2)下列程序的功能为: 实现加、减、乘、除四则运算。 补充完善程序,以实现其功能。 程序以文件名sy4_5.c保存。 #include main() { inta,b,d; charch; printf("Pleaseinputaexpression: "); scanf("%d%c%d",&a,&ch,&b); switch(ch) { case'+': d=a+b; printf("%d+%d=%d\n",a,b,d); break; case'-': d=a-b; printf("%d-%d=%d\n",a,b,d); break; case'*': d=a*b; printf("%d*%d=%d\n",a,b,d); break; case'/': if(b==0) printf("Divisoriszero\n"); else printf("%d/%d=%f\n",a,b,(float)a/b);/*强制类型转换*/ break; default: printf("InputOperatorerror! \n"); } } (3)下列程序的功能为: 猜价格,用户输入自己估计的价格,程序判断其正确性。 补充完善程序,以实现其功能。 程序以文件名sy4_6.c保存。 #include"stdio.h" main() { floata,b; printf("请主持人输入时尚手机的实际价格\n"); scanf("%f",&b); printf("\n\n请观众猜时尚手机的价格\n"); scanf("%f",&a); if(a printf("低了\n"); if(a==b) printf("猜对了! \n"); if(a>b) printf("高了\n"); } 实验5 1.改错题 (1)下列程序的功能为: 求1~100之和(和值为5050)并输出。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy5_1.c保存。 #include main() { inti,sum=0; i=1; while(i<=100) sum=sum+i; i++; printf("Thesumfrom1to100is%d\n",sum); } #include main() { inti,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("Thesumfrom1to100is%d\n",sum); } (2)下列程序的功能为: 倒序打印26个英文字母。 纠正程序中存在的错误,以实现其功能,程序以文件名sy5_2.c保存。 #include main() { charx; x='z'; while(x! ='a') { printf("%3d",x); x++; } } #include main() { charx; x='z'; while(x>='a') { printf("%3c",x); x--; } } (3)下列程序的功能为: 输入一个大写字母,打印出一个菱形。 该菱形中间一行由此字母组成,其相邻的上下两行由它前面的一个字母组成,按此规律,直到字母A出现在第一行和最末行为止。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy5_3.c保存。 例如,输入字母D,打印出如下图形: A BBB CCCCC DDDDDDD CCCCC BBB A #include main() { inti,j,k; charch; scanf("%c",&ch); k=ch-'A'+1; for(i=1;i<=k;i++) { for(j=20;j>=i;j--) printf("%c",''); for(j=1;j<=i-1;j++) printf("%c",'A'+i-1); printf("\n"); } k=ch-'A'; for(i=k;i>=1;i--) { for(i=20;i>=i;i--) printf("%c",''); for(j=1;j<2*i-1;j++) printf("%c",'A'+i-1); printf("\n"); } } #include main() { inti,j,k; charch; scanf("%c",&ch); k=ch-'A'+1; for(i=1;i<=k;i++) { for(j=20;j>=i;j--) printf("%c",''); for(j=1;j<=2*i-1;j++) printf("%c",'A'+i-1); printf("\n"); } k=ch-'A'; for(i=k;i>=1;i--) { for(j=20;j>=i;j--) printf("%c",''); for(j=1;j<=2*i-1;j++) printf("%c",'A'+i-1); printf("\n"); } } 2.程序填空题 (1)用辗转相除法求两个正整数的最大公约数和最小公倍数。 补充完善程序,以实现其功能,程序以文件名sy5_4.c保存。 “辗转相除法”求两个正整数的最大公约数的算法如下: 1将两数中大的那个数放在m中,小的放在n中; 2求出m被n除后的余数r; 3若余数为0则执行步骤 ,否则执行步骤 ; 4把除数作为新的被除数,把余数作为新的除数; 5求出新的余数r; 6重复步骤 ~ 。 7输出n,n即为最大公约数。 #include main() { intr,m,n,t; scanf("%d%d",&m,&n); if(m {t=m;m=n;n=t;}t=m*n; r=m%n; while(r) { m=n; n=r; r=m%n; } printf("%d%d\n",n,t/n); } (2)假设有1020个西瓜,第一天卖了一半多两个,以后每天卖剩的一半多两个,求几天后能卖完。 补充完善程序,以实现其功能。 程序以文件名sy5_5.c保存。 #include main() { intday,x1,x2; day=0; x1=1020; while(x1>0) { x2=x1/2-2; x1=x2; day++; } printf("day=%d\n",day); } (3)下列程序的功能为: 输出100以内能被3整除且个位数为6的所有整数.补充完善程序,以实现其功能。 程序以文件名sy5_6.c保存。 #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个数据,并求这些数据之和。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy6_1.c保存。 #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。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy6_2.c保存。 #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)下列程序的功能为: 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。 也可能没有鞍点。 纠正程序中存在的错误,以实现其功能。 程序以文件名sy6_3.c保存。 #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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 改错 填空
![提示](https://static.bingdoc.com/images/bang_tan.gif)