- UID
- 342925
- 帖子
- 2352
- 精华
- 0
- 威望
- 10
- 阅读权限
- 100
- 性别
- 男
- 来自
- 火星
- 注册时间
- 2006-3-19
|
【求助】C语言改错。。。会的帮下。。日后一定好好灌水
1、下面的程序的功能是输入整数n,通过递归调用函数fact()计算并输出n!.请找出其中的三处错误,并修改正确.
#include <stdio.h>
long fact(int n)
{ if (n==1||n==0)
return (1);
else
return (fact(n-1));
}
main()
{ int n;
printf("Input n: ");
scanf("%d",n);
printf("%d,%ld",n,fact);
}
错误1: 将第 行 修改为 ,
错误2: 将第 行 修改为 ,
错误3: 将第 行 修改为 .
2、下列程序的功能是计算矩阵A的主对角线上的元素之和并输出.该程序有三处错误,请指出错误并修改正确.
main()
{ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},i,j;
int sum=0;
for (i=1;i<=4;i++)
for (j=0;j<4;j++);
if (i==j)
sum=a[j];
printf(“sum=%d\n”,sum);
}
错误1: 将第 行 修改为 ,
错误2: 将第 行 修改为 ,
错误3: 将第 行 修改为 .
3、下面的程序用来求1—100中所有奇数之和,结果放入变量sum中,请找出并修改其中的三处错误.
main()
{
int i, sum;
sum=1;
for (i=0;i<100;i+=2)
sum+=i;
printf("sum=%f\n",sum);
}
错误1: 将第 行 修改为 ,
错误2: 将第 行 修改为 ,
错误3: 将第 行 修改为 .
4、下面程序的功能是输入100个整数,存入一维数组a[100]中,并将其中的元素按降序排序输出,请指出其中的三处错误并修改正确。
main()
{
int a[100],i,j,t;
for(i=0;i<=100;i++)
scanf("%d",a);
for (i=0;i<99;i++)
for(j=i+1;j<100;j++)
if (a<a[j])
{
t=a;
a[j]=a;
a[j]=t;
}
for (i=0;i<100;i++)
printf("%d ",a);
}
错误1: 将第 行 修改为 ,
错误2: 将第 行 修改为 ,
错误3: 将第 行 修改为 .
5、以下程序的功能是输出Fibonacci数列(这个数列的第一项和第二项都为1,从第三项开始,以后每一项都是它前面两项的和)的前20项。请找出其中的三处错误,并修改正确。
main()
{
int f[20]={1,1};
for(i=0;i<20;i++)
f=f[i-2]+f[i-1];
for(i=0;i<20;i++);
printf("%9d",f);
}
错误1: 将第 行 修改为 ,
错误2: 将第 行 修改为 ,
错误3: 将第 行 修改为 .
6、下列程序的功能是计算矩阵A的主对角线上的元素之和并输出。该程序有三处错误,请指出错误并修改正确。
main()
{
int a[3][3]={1,3,5,7,9,11,13,15,17},i,j;
int sum=0;
for (i=1;i<=3;i++)
for (j=1;j<3;j++)
if (i==j)
sum=a[j];
printf(“sum=%d\n”,sum);
}
错误1: 将第 行 修改为 ,
错误2: 将第 行 修改为 ,
错误3: 将第 行 修改为 .
7、比赛有7个评委给每一位参赛者打分,去掉一个最高分和去掉一个最低分,得到该参赛者的平均分。以下程序的功能是求参赛选手的平均分,请找出其中的三处错误,并修改正确。
main()
{
int i;
float a[7],max, min, aver=0;
for (i=0;i<7;i++)
scanf("%f", a);
max=min=aver=a[0];
for (i=1;i<7;i++);
{
if (max<a) max=a;
if (min>a) min=a;
aver=a;
}
aver=(aver-max-min)/5;
printf("Mark=%.2f\n",aver);
}
错误1: 将第 行 修改为 ,
错误2: 将第 行 修改为 ,
错误3: 将第 行 修改为 . |
|