C语言程序改错范本模板.docx

上传人:b****1 文档编号:10514986 上传时间:2023-05-26 格式:DOCX 页数:74 大小:40.64KB
下载 相关 举报
C语言程序改错范本模板.docx_第1页
第1页 / 共74页
C语言程序改错范本模板.docx_第2页
第2页 / 共74页
C语言程序改错范本模板.docx_第3页
第3页 / 共74页
C语言程序改错范本模板.docx_第4页
第4页 / 共74页
C语言程序改错范本模板.docx_第5页
第5页 / 共74页
C语言程序改错范本模板.docx_第6页
第6页 / 共74页
C语言程序改错范本模板.docx_第7页
第7页 / 共74页
C语言程序改错范本模板.docx_第8页
第8页 / 共74页
C语言程序改错范本模板.docx_第9页
第9页 / 共74页
C语言程序改错范本模板.docx_第10页
第10页 / 共74页
C语言程序改错范本模板.docx_第11页
第11页 / 共74页
C语言程序改错范本模板.docx_第12页
第12页 / 共74页
C语言程序改错范本模板.docx_第13页
第13页 / 共74页
C语言程序改错范本模板.docx_第14页
第14页 / 共74页
C语言程序改错范本模板.docx_第15页
第15页 / 共74页
C语言程序改错范本模板.docx_第16页
第16页 / 共74页
C语言程序改错范本模板.docx_第17页
第17页 / 共74页
C语言程序改错范本模板.docx_第18页
第18页 / 共74页
C语言程序改错范本模板.docx_第19页
第19页 / 共74页
C语言程序改错范本模板.docx_第20页
第20页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序改错范本模板.docx

《C语言程序改错范本模板.docx》由会员分享,可在线阅读,更多相关《C语言程序改错范本模板.docx(74页珍藏版)》请在冰点文库上搜索。

C语言程序改错范本模板.docx

C语言程序改错范本模板

〖第1题〗『程序改错』(5分)(题号:

422)

/*-—-----—---——----——-——---——------—-——-—-——-——-——--——--

【程序改错】

------——-—-——-—-—--------—--—-—————--—-—--——---————-—-—-

题目:

给一个不多于5位的正整数,要求:

一、求它是

几位数,二、逆序打印出各位数字。

----—----————---—-——-—--————-——--—-----——-——--—-——-—----

注意:

不可以增加或删除程序行,也不可以更改程序

的结构。

—--——--—-—--—-—-—---—————---—-—-———————---———-——---———*/

#include"stdio.h”

main()

/**********FOUND**********/

longa,b,c,d,e,x,

scanf(”%ld”,&x);

a=x/10000;

/**********FOUND**********/

b=x/10000/1000;

c=x%1000/100;

d=x%100/10;

e=x%10;

/**********FOUND**********/

if(a==0)

printf("thereare5,%ld%ld%ld%ld%ld\n”,e,d,c,b,a);

elseif(b!

=0)printf(”thereare4,%ld%ld%ld%ld\n”,e,d,c,b);

elseif(c!

=0)printf("thereare3,%ld%ld%ld\n”,e,d,c);

elseif(d!

=0)printf("thereare2,%ld%ld\n",e,d);

elseif(e!

=0)printf("thereare1,%ld\n”,e);

getch();

答案:

1)。

longa,b,c,d,e,x;

2).b=x%10000/1000;或b=x/1000%10;

3)。

if(a!

=0)或if(!

a)

〖第2题〗『程序改错』(5分)(题号:

411)

/*————-—-———----—-—-———----——--—-—----———----—-——-—---——

【程序改错】

--———-—————-——---——-—-——--———-————-—----——----—-————--——

题目:

某个公司采用公用电话传递数据,数据是四位的

整数,在传递过程中是加密的,加密规则如下:

每位数字都加上5,然后除以10的余数代替该位数

字。

再将新生成数据的第一位和第四位交换,第

二位和第三位交换。

举例:

输入一个四位整数1234,则结果为:

9876。

—-—--------————---——-—---—-—----—-——-——-----——---————--—

注意:

不可以增加或删除程序行,也不可以更改程序

的结构。

-—---—--———---—————---—---——-—--———----—-———-——-—-————*/

#include"stdio。

h”

main()

{inta,i,aa[4],t;

printf(”输入一个四位整数:

");

/**********FOUND**********/

scanf("%d”,&a);

aa[0]=a%10;

/**********FOUND**********/

aa[1]=a%100%10;

aa[2]=a%1000/100;

aa[3]=a/1000;

/**********FOUND**********/

for(i=0;i〈=3;i++)

{aa[i]+=5;

aa[i]%=10;

}

for(i=0;i<=3/2;i++)

{t=aa[i];

aa[i]=aa[3-i];

aa[3—i]=t;

for(i=3;i〉=0;i——)

printf(”%d”,aa[i]);

getch();

〖第1题〗『程序改错』(5分)(题号:

253)

/*————--—-—-—-—-——-—————-----—---—----—-—---—-——-—--—-——

【程序改错】

----—————--——---———--—---——————--———-———---—————-————-——

题目:

输入10个数,要求输出这10个数的平均值

--—-------———--—--—---—-—--———-—-------—-———--—-————-——-

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

———————---—-—-—--——-—-———————-——-—-—----—-—------———-—*/

floataverage(floatarray[10])

inti;

floataver,sum=array[0];

/***********FOUND***********/

for(i=0;i<10;i++)

sum=sum+array[i];

aver=sum/10.0;

return(aver);

}

main()

{

/***********FOUND***********/

intscore[10],aver;

inti;

printf("input10scores:

\n”);

for(i=0;i〈10;i++)

/***********FOUND***********/

scanf("%f”,score);

printf(”\n”);

/***********FOUND***********/

aver=average(score[10]);

printf("averagescoreis%5.2f",aver);

}

答案:

1).for(i=1;i〈10;i++)或for(i=1;i〈=9;i++)

2)。

floatscore[10],aver;或floataver,score[10];

3).scanf("%f”,&score[i]);或scanf("%f”,score+i);

4)。

aver=average(score);

〖第2题〗『程序改错』(5分)(题号:

414)

/*—--—-—————------—————-—-———---—-———-—--——-—-————-———-—

【程序改错】

--——-—-———---—--——-—--————-——————--——-——---——-—————-—---

题目:

输入一行字符,分别统计出其中英文字母、空

格、数字和其它字符的个数。

-——-—-———-——---—-—-————-———————---——-—--————--—————-——-—

注意:

不可以增加或删除程序行,也不可以更改程序

的结构。

——-——--—————---——---—--—-————--—-———-——-——-——--——-——-—*/

#include"stdio.h”

main()

{charc;

intletters=0,space=0,digit=0,others=0;

printf(”pleaseinputsomecharacters\n”);

/**********FOUND**********/

while((c=getchar())==’\n’)

/**********FOUND**********/

if(c〉=’a'&&c<='z’&&c〉='A’&&c〈='Z’)

letters++;

/**********FOUND**********/

elseif(c=!

'')

space++;

elseif(c〉=’0’&&c〈='9’)

digit++;

else

others++;

printf("allinall:

char=%dspace=%ddigit=%dothers=%d\n”,letters,

space,digit,others);

}

答案:

1).while((c=getchar())!

=’\n’)

2).if(c〉='a’&&c<='z'||c〉='A’&&c〈=’Z')或if(c<='z’&&c〉=’a'||c〉='A'&&c〈='Z')或if(c<='z’&&c>=’a’||

3)。

elseif(c==’')

〖第3题〗『程序改错』(5分)(题号:

250)

/*——————-—------——-—-—-—-—--————-—---——-—--—————--—---—-

【程序改错】

—--—--————--—--——--—-—————-—-—-—-———--—-—-————--——--——-—

题目:

以下程序输出前六行杨辉三角形,即

1

11

121

1331

14641

…………

…………

-————------———-—-——-------———-----———--—————-——---———-—-

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

—--————-——--—-—--—--------——--—--—-—-—--—-—-—---—--—-—*/

main()

staticinta[6][6];

inti,j,k;

/***********FOUND***********/

for(i=1;i〈=6;i++)

{for(k=0;k〈10—2*i;k++)

printf("”);

for(j=0;j<=i;j++)

/***********FOUND***********/

if(j==0&&j==i)

a[i][j]=1;

else

/***********FOUND***********/

a[i][j]=a[i—1][j—1]+a[i][j—1];

printf("");

printf("%—3d”,a[i][j]);

/***********FOUND***********/

printf("\t");

}

答案:

1).for(i=0;i〈6;i++)或for(i=0;i<=5;i++)

2).if(j==0||j==i)

3).a[i][j]=a[i-1][j]+a[i-1][j—1];或a[i][j]=a[i—1][j-1]+a[i—1][j];

4).printf(”\n”);

答案:

1)。

scanf("%d",&a);

2).aa[1]=a%100/10;或aa[1]=a/10%10;

3)。

for(i=0;i<=3;i++)或for(i=0;i<4;i++)

〖第1题〗『程序改错』(5分)(题号:

3)

/*-————---—--———--——-—---—————-———---———————-———--—-—-——

【程序改错】

—-—----——————-—--———-—————--—-—————-——----—————-—-—-——--

题目:

用起泡法对10个整数从小到大排序。

程序中共有4条错误语句,请改正错误.

---————-——---————-—--—--------—----—---————---—-—-—-————

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

—--—-—————--—---—-----—-————-——-—-—--——---—----—---—--*/

voidsort(intx[],intn)

{

inti,j,k,t;

for(i=0;i〈n-1;i++)

/**********FOUND**********/

for(j=0;j

/**********FOUND**********/

if(x[i]〉x[i+1])

{t=x[j];x[j]=x[j+1];x[j+1]=t;}

main()

inti,n,a[100];

printf("pleaseinputthelengthofthearray:

\n");

scanf("%d",&n);

for(i=0;i〈n;i++)

/**********FOUND**********/

scanf(”%d",a[i]);

/**********FOUND**********/

sort(n,a);

printf(”outputthesortedarray:

\n");

for(i=0;i〈=n—1;i++)

printf("%5d”,a[i]);

printf("\n”);

答案:

1)。

for(j=0;j〈n-1—i;j++)或for(j=0;n-1—i>j;j++)或for(j=0;j

2)。

if(x[j]>x[j+1])或if(x[j+1]〈x[j])

3).scanf("%d",&a[i]);或scanf("%d”,a+i);

4)。

sort(a,n);或sort(&a[0],n);

〖第2题〗『程序改错』(5分)(题号:

431)

/*———--——--——————————--—-—-—-—-——--—-————--—-—-———--—-—-

【程序改错】

-—---——---—--—----——-—-———-————--————----—---——--—-——--—

题目:

编写函数fun求1000以内所有8的倍数之和。

——-———---—--—---——-—-——-—--------—--——-—--—---——-----—-—

注意:

不可以增加或删除程序行,也不可以更改程

序的结构。

----——-—-——--——-—-—-—--—-—————-———--—--————-————----—-*/

#include”stdio.h”

#defineN1000

main()

{intsum;

sum=fun(8);

printf(”%d以内所有%d的倍数之和为:

%d\n”,N,8,sum);

getch();

intfun(intm)

/**********FOUND**********/

ints=0;i;

/**********FOUND**********/

for(i=1;i〉N;i++)

/**********FOUND**********/

if(i/m==0)

s+=i;

returns;}

答案:

1).ints=0,i;

2)。

for(i=1;i

3).if(i%m==0)

〖第3题〗『程序改错』(5分)(题号:

444)

/*——-———-———————-—---——-—--—-——-——-—--—---———--——-—---—-

【程序改错】

---—--—-——-—---—--———---—-—-—-—-———————-——--——-———-——-——

题目:

求100以内(包括100)的偶数之和。

----—-----—----——-—--————--—-—--—----——-——————--—--——-——

注意:

不可以增加或删除程序行,也不可以更改程序的结构.

--——————---—-——-—-——--—-———-——---—--—--—-———-—-——-—-——*/

#include"stdio。

h”

main()

{

/**********FOUND**********/

inti,sum=1;

/**********FOUND**********/

for(i=2;i〈=100;i+=1)

sum+=i;

/**********FOUND**********/

printf("Sum=%d\n";sum);

getch();

}

答案:

1).inti,sum=0;

2)。

for(i=2;i<=100;i+=2)

3)。

printf(”Sum=%d\n",sum);

〖第1题〗『程序改错』(5分)(题号:

14)

/*-——-—-—---—————-——----—---—--——--——-———----——--—--————

【程序改错】

—--——-——----———————--—---——-———---——---———-—-—---—-—---—

题目:

函数fun的功能是:

求1到20的阶乘的和。

请改正程序中的错误,使它能得出正确的结果。

-—---—--——----—-————————-——-—-——---—-—---——-——---—------

注意:

不可以增加或删除程序行,也不可以更改程序的结构.

--—----—-—————----—-—-—---———----———-—-——--—————-——--—*/

fun()

intn,j;

floats=0。

0,t=1.0;

for(n=1;n<=20;n++)

{

/**********FOUND**********/

s=1;

for(j=1;j〈=n;j++)

/**********FOUND**********/

t=t*n;

/**********FOUND**********/

s+t=s;

/**********FOUND**********/

printf(”jiecheng=%d\n",s);

}

main()

{

fun();

}

答案:

1).t=1;或t=1.0;

2)。

t=t*j;或t*=j;或t=j*t;

3)。

s=s+t;或s+=t;或s=t+s;

4)。

printf(”jiecheng=%f\n”,s);

〖第2题〗『程序改错』(5分)(题号:

396)

/*—-——-——-—-——-————-—---—-—--—-——-————--———-—--—--——-——-

【程序改错】

——-—--—---——--———-—-——--—-—————----——-————-—————----—-——

题目:

请编写一个函数fun,函数的功能是:

统计出若干

个学生的平均成绩,最低分以及得最低分的人数。

例如,输入10名学生的成绩分别为92,87,68,56,

92,84,67,75,92,66,则输出平均成绩为77。

9,

最高分为56,得最高分的人数为1人。

----——-—-———----—--—--———-—————----—-——-—-——-—------—-——

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

--———-———————-—-—-—----—--——————-----———-———--—----—-—*/

#include"stdio。

h”

floatMin=0;

intJ=0;

floatfun(floatarray[],intn)

{

inti;floatsum=0,ave;

Min=array[0];

for(i=0;i

{if(Min>array[i])Min=array[i];

/**********FOUND**********/

sum=+array[i];}

/**********FOUND**********/

ave=sum\n;

for(i=0;i

/**********FOUND**********/

if(array[i]=Min)J++;

return(ave);

}

main()

{

floata[10],ave;

inti=0;

for(i=0;i〈10;i++)

scanf("%f",&a[i]);

ave=fun(a,10);

printf(”ave=%f\n”,ave);

printf(”min=%f\n",Min);

printf(”Total:

%d\n”,J);

getch();

答案:

1).sum+=array[i];}或sum=sum+array[i];}

2)。

ave=sum/n;

3).if(array[i]==Min)J++;或if(Min==array[i])J++;

〖第3题〗『程序改错』(5分)(题号:

444)

/*—---—-——--———--——-——----—--—-----—-——-—--———--———----—

【程序改错】

——-—--————-—-—-——-——————-—-—-------—————--—-—--——--————-

题目:

求100以内(包括100)的偶数之和。

--—--—---—------——-————————-——----———-—--—----————-—-—-—

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

---——-—-——--——---————————-——-———---———--—-——--—-————--*/

#include”stdio。

h”

main()

{

/**********FOUND**********/

inti,sum=1;

/**********FOUND**********/

for(i=2;i<=100;i+=1)

sum+=i;

/**********FOUND**********/

printf("Sum=%d\n";sum);

getch();

}

答案:

1).inti,sum=0;

2)。

for(i=2;i〈=100;i+=2)

3).printf(”Sum=%d\n",sum);

〖第1题〗『程序改错』(5分)(题号:

14)

/*---————--——-—---———------——-———----—------—-——----———-

【程序改错】

-—---—-—-————---—--——-———-—-—————-——----——--—-—-—-————--

题目:

函数fun的功能是:

求1到20的阶乘的和。

请改正程序中的错误,使它能得出正确的结果。

-—----——-—--————-—-————----——-——-——--—-——-——--—-—-——————

注意:

不可以增加或删除程序行,也不可以更改程序的结构.

--—--—-————-——-——-—-—---————--

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2