程序改错题范本模板.docx
《程序改错题范本模板.docx》由会员分享,可在线阅读,更多相关《程序改错题范本模板.docx(16页珍藏版)》请在冰豆网上搜索。
![程序改错题范本模板.docx](https://file1.bdocx.com/fileroot1/2022-10/17/85d681cf-1b80-43be-ac51-e202eedda0ff/85d681cf-1b80-43be-ac51-e202eedda0ff1.gif)
程序改错题范本模板
程序改错题
(注意:
每小题只有1行有错误,答题时请指出错误位置并给出改正结果)
1.
输出计算结果。
main()
{inta=b=10;
a+=b+5;
b*=a+=10;
printf("%d%d\n",a,b);
}
2.
输出计算结果。
#include〈stdio。
h>
main()
{floatx,y;
scanf("%f",x);
y=x*56/97;
printf(”%f\n",y);
}
3.
输出计算结果。
main()
{intx=2,y=3;
z=(x++,y++);
printf("%d”,z);
}
4.
输出运行结果.
main()
{floata,b,c,v;
a=2。
0;b=3.0;c=4.0;
v=a*b*c;
printf("%f\n”,v)
}
5.
输出运行结果。
#include“stdio.h”
main(){
floatr,s;
r=5.0;
s=3.14159*r*r;
printf(”%d\n",s);
}
6.
输出程序运行结果.
#includeh>
main()
{charch;
scanf(”%c”,ch);
printf(”%d\n",ch);
}
7.
输入一整数判断是否能被13整除。
main()
{inti;
scanf(“%d”,i);
if(i%13==0)printf("yes”);
elseprintf("no”);
}
8.
输出程序运行结果。
main()
{inta,b;
floatx,y,z;
scanf(”%f%f%f",&x,&y,&z);
a=b=x+y+z;
c=a+b;
printf(”%d%d%d”,a,b,c);
}
9.
输出程序运行结果。
#includeh>
main()
{floatx,y;
scanf("%f”,&x);
y=2x+10;
printf(”%f\n”,y);
}
10.
输出程序运行结果。
main()
{inta,b='B’;
scanf("%d”,a);
printf(”%c,",b++);
printf("%d\n",b—a);
}
11.
下列程序的功能是计算字符串的字符个数。
#include”stdio.h”
main()
{charstr[80];
ints,i=0;
gets(str);
for(;str[i]!
=‘\0’;i++)
s++;
printf(”%4d\n”,s);
}
12.
给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
main()
{
floatx[]={23。
5,45。
67,12.1,6.4,58.9,98.4},sum=0,ave;
intn=6,j,c=0;
for(j=0;j〈n;j++)
sum+=x[j];
ave=sum/n;
printf("ave=%f\n”,ave);
for(j=0;j〈n;j++)
if(x[j]〉=ave)c++;
printf("%d\n",c);
}
13.
下列程序的功能是计算3×3矩阵的主对角线元素之和。
main()
{inti,a[3][3]={1,2,3,4,5,6,7,8,9},sum=0;
for(i=0;i<=3;i++)
sum=a[i][i];
printf("sum=%d\n",sum);
}
14.
下列程序的功能是复制字符串a到b中。
main()
{chara[20]=”abcde”,b[20];
char*str1=a,*str2;
str2=b;
while(*str2++==*str1++);
printf("%s",b);
}
15.
找出大于m的最小素数
main()
{
inti,m,k;
scanf("%d",&m);
for(i=m+1;;i++)
{for(k=2;k
if(i%k==0)
break;
if(k〈=i)
{printf(”%d\n”,i);break;}
}
}
16.
从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum。
#include"stdio。
h"
main()
{inta[3][3],sum=0;
inti,j;
for(i=0;i<3;i++)
for(j=0;j〈3;j++)
scanf("%d",&a[i][j]);
for(i=0;i〈3;i++)
sum=sum+a[i][j];
printf("sum=%d\n”,sum);
}
17.
下列程序的功能是统计字符串中空格数。
#include"stdio.h"
main()
{intnum;
chara[81],*str=a,ch;
gets(a);
while((ch=*str++)!
=’\0')
if(ch=='’)num++;
printf(”num=%d\n”,num);
}
18.
下列程序的功能是输入一个字符串,然后再输出.
main()
{chara[20];
inti=0;
scanf("%s",&a);
while(a[i])printf(”%c”,a[i++]);
}
19.
实现两个字符串的连接
voidscat(chars1[],chars2[])
{
inti=0,j=0;
while(s1[i]!
=’\0')i++;
while(s2[j]!
=’\0')
{s1[i]=s2[j];
i++;
j++;
}
s2[i]=’\0';
}
20.
有N×N矩阵A,进行a[i][j]+a[j][i]的操作后,存放在矩阵B中,并输出B矩阵。
#defineN3
#include〈stdio。
h〉
main()
{inta[N][N]={{1,2,3},{4,5,6},{7,8,9}},b[N][N];
inti,j;
for(i=0;ifor(j=0;jb[i][j]=a[i][j]+a[j][i];
for(i=0;i{for(j=0;jprintf(”%4d",b[j][i]);
printf(”\n");
}
}
21.
函数的功能是返回两个数中的较小的值.
doublemin(doublex,doubley)
{return(x>y?
x:
y);
}
main()
{doublep,q;
scanf("%lf%lf",&p,&q);
printf("%lf\n",min(p,q));
}
22.
函数str_space()的功能是统计字符串中数字的个数。
#includeh〉
str_space(char*str,int*num)
{*num=0;
while(*str!
='\0’)
{if(*str<=’0’&&*str>=’9')
(*num)++;
str++;}
}
23.
函数str_space()的功能是统计数组中大于90小于100的数字的个数.
str_space(int*str,int*num)
{*num=0;
while(*str!
='\0')
{if(*str〈=90&&*str〉=100)
(*num)++;
str++;
}
}
main()
{inta[100]={78,98,57,75,68,41,91,90,45},*s=a;
intk=0,*p=&k;
str_space(s,p);
printf("%d\n”,*p);
}
24.
用指针法实现两个整数的交换。
voidfun(int*a,int*b)
{
intt;
t=*a;
*a=*b;
*b=t;
}
main()
{
inta,b;
printf("entera,b:
”);
scanf(”%d%d”,&a,&b);
fun(a,b);
printf("a=%db=%d\n”,a,b);
}
25.
把两个数按由大到小的顺序输出来。
swap(int*p1,int*p2)
{intp;
p=*p1;
*p1=*p2;
*p2=p;
}
main()
{inta,b,*p1,*p2;
printf("inputa,b:
”);
scanf(”%d%d”,&a,&b);
p1=&a,p2=&b;
if(a〈b)
swap(a,b);
printf("a=%d,b=%d\n",a,b);
printf(”max=%d,min=%d\n”,*p1,*p2);
}
26.
在一个一维整型数组中找出其中最大的数及其下标.
#defineN10
intfun(int*a,int*b,intn)
{int*c,max=*a;
for(c=a+1;c〈a+n;c++)
if(*c{max=*c;
*b=c—a;
}
returnmax;
}
27.
函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同的字符的ASCII码差值,即当s〉t时返回正值,当s〈t时返回负值。
my_cmp(char*s,char*t)
{while(*s==*t)
{
if(*s=’\0’)
return0;
s++;
t++;
}
return(*s-*t);
}
28.
函数fun的功能是计算
1+1/2+1/3+…+1/m。
doublefun(intm)
{doublet=1。
0;
inti;
for(i=2;i<=m;i++)
t+=1/i;
returnt;
}
main()
{intm;
scanf("%d",&m);
printf(”%lf”,fun(m));
}
29.
将数组逆序输出.
#defineN11
main()
{inti,j,t,number;
inta[N]={1,2,4,6,8,9,12,15,149,156};
for(i=N—1;i〉=0;i++)
printf("%5d",a[i]);
printf("\n”);
}
30.
下列函数的功能是实现大写字母转换成小写字母。
#include〈stdio。
h>
charfun(char*c)
{if(*c〈=’Z’||*c>=’A’)
*c-=’A’—'a’;
return*c;
}
31.
下列程序的功能是输出结构体变量的值。
studentstruct
{longintnum;
charname[10];
charsex;}a={89241,"zhang",’M’};
main()
{printf("%ld%s