C语言程序改错Word格式.docx
- 文档编号:8640390
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:57
- 大小:27.48KB
C语言程序改错Word格式.docx
《C语言程序改错Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序改错Word格式.docx(57页珍藏版)》请在冰点文库上搜索。
thereare4,%ld%ld%ld%ld\n"
e,d,c,b);
elseif(c!
thereare3,%ld%ld%ld\n"
e,d,c);
elseif(d!
thereare2,%ld%ld\n"
e,d);
elseif(e!
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"
main()
{inta,i,aa[4],t;
输入一个四位整数:
"
);
%d"
a);
aa[0]=a%10;
aa[1]=a%100%10;
aa[2]=a%1000/100;
aa[3]=a/1000;
for(i=0;
i<
=3;
i++)
{aa[i]+=5;
aa[i]%=10;
=3/2;
{t=aa[i];
aa[i]=aa[3-i];
aa[3-i]=t;
for(i=3;
i>
=0;
i--)
aa[i]);
253)
输入10个数,要求输出这10个数的平均值
不可以增加或删除程序行,也不可以更改程序的结构。
floataverage(floatarray[10])
inti;
floataver,sum=array[0];
/***********FOUND***********/
for(i=0;
10;
sum=sum+array[i];
aver=sum/10.0;
return(aver);
{
/***********FOUND***********/
intscore[10],aver;
printf("
input10scores:
\n"
scanf("
%f"
score);
aver=average(score[10]);
averagescoreis%5.2f"
aver);
1).for(i=1;
i++)或for(i=1;
=9;
2).floatscore[10],aver;
或floataver,score[10];
3).scanf("
&
score[i]);
或scanf("
score+i);
4).aver=average(score);
414)
输入一行字符,分别统计出其中英文字母、空
格、数字和其它字符的个数。
{charc;
intletters=0,space=0,digit=0,others=0;
pleaseinputsomecharacters\n"
while((c=getchar())=='
\n'
)
if(c>
='
a'
&
c<
z'
c>
A'
Z'
letters++;
elseif(c=!
'
'
space++;
elseif(c>
0'
9'
digit++;
else
others++;
allinall:
char=%dspace=%ddigit=%dothers=%d\n"
letters,
space,digit,others);
1).while((c=getchar())!
2).if(c>
||c>
)或if(c<
c>
||
3).elseif(c=='
〖第3题〗『程序改错』(5分)(题号:
250)
以下程序输出前六行杨辉三角形,即
1
11
121
1331
14641
…………
staticinta[6][6];
inti,j,k;
for(i=1;
=6;
i++)
{for(k=0;
k<
10-2*i;
k++)
"
for(j=0;
j<
=i;
j++)
{
if(j==0&
j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i][j-1];
%-3d"
a[i][j]);
}
\t"
1).for(i=0;
6;
i++)或for(i=0;
=5;
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("
1).scanf("
2).aa[1]=a%100/10;
或aa[1]=a/10%10;
3).for(i=0;
4;
3)
用起泡法对10个整数从小到大排序。
程序中共有4条错误语句,请改正错误。
voidsort(intx[],intn)
inti,j,k,t;
n-1;
n-i;
if(x[i]>
x[i+1])
{t=x[j];
x[j]=x[j+1];
x[j+1]=t;
inti,n,a[100];
pleaseinputthelengthofthearray:
n);
n;
a[i]);
sort(n,a);
outputthesortedarray:
=n-1;
%5d"
1).for(j=0;
n-1-i;
j++)或for(j=0;
n-1-i>
j;
n-(1+i);
n-(1+i)>
=n-2-i;
2).if(x[j]>
x[j+1])或if(x[j+1]<
x[j])
a[i]);
a+i);
4).sort(a,n);
或sort(&
a[0],n);
431)
编写函数fun求1000以内所有8的倍数之和。
不可以增加或删除程序行,也不可以更改程
序的结构。
#defineN1000
{intsum;
sum=fun(8);
%d以内所有%d的倍数之和为:
%d\n"
N,8,sum);
getch();
intfun(intm)
ints=0;
i;
N;
if(i/m==0)
s+=i;
returns;
1).ints=0,i;
2).for(i=1;
3).if(i%m==0)
444)
求100以内(包括100)的偶数之和.
inti,sum=1;
for(i=2;
=100;
i+=1)
sum+=i;
Sum=%d\n"
;
sum);
1).inti,sum=0;
2).for(i=2;
i+=2)
3).printf("
sum);
14)
函数fun的功能是:
求1到20的阶乘的和。
请改正程序中的错误,使它能得出正确的结果。
fun()
intn,j;
floats=0.0,t=1.0;
for(n=1;
n<
=20;
n++)
{
s=1;
for(j=1;
=n;
t=t*n;
s+t=s;
jiecheng=%d\n"
s);
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;
jiecheng=%f\n"
396)
请编写一个函数fun,函数的功能是:
统计出若干
个学生的平均成绩,最低分以及得最低分的人数。
例如,输入10名学生的成绩分别为92,87,68,56,
92,84,67,75,92,66,则输出平均成绩为77.9,
最高分为56,得最高分的人数为1人。
floatMin=0;
intJ=0;
floatfun(floatarray[],intn)
inti;
floatsum=0,ave;
Min=array[0];
{if(Min>
array[i])Min=array[i];
sum=+array[i];
ave=sum\n;
if(array[i]=Min)J++;
return(ave);
floata[10],ave;
inti=0;
ave=fun(a,10);
ave=%f\n"
ave);
min=%f\n"
Min);
Total:
J);
1).sum+=array[i];
}或sum=sum+array[i];
2).ave=sum/n;
3).if(array[i]==Min)J++;
或if(Min==array[i])J++;
-----------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 改错