实验改错填空题.docx

上传人:b****9 文档编号:26207360 上传时间:2023-06-17 格式:DOCX 页数:26 大小:31.79KB
下载 相关 举报
实验改错填空题.docx_第1页
第1页 / 共26页
实验改错填空题.docx_第2页
第2页 / 共26页
实验改错填空题.docx_第3页
第3页 / 共26页
实验改错填空题.docx_第4页
第4页 / 共26页
实验改错填空题.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

实验改错填空题.docx

《实验改错填空题.docx》由会员分享,可在线阅读,更多相关《实验改错填空题.docx(26页珍藏版)》请在冰豆网上搜索。

实验改错填空题.docx

实验改错填空题

实验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;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1