实验改错填空题.docx

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

实验改错填空题.docx

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

实验改错填空题.docx

实验改错填空题

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

}

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

当前位置:首页 > 成人教育 > 自考

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

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