《C程序设计第五版》期末考试改错题
1.以下程序让用户从键盘输入n,计算n!并输出,请改正其中的错误。#include
int main()
{
int n;
int i;
int p;
scanf("%d", n);
for (i = 1; i < n; i ++)
p = p * i;
printf("%d\n",p);
return 0;
}java程序设计考试题
2.下面程序的功能是将数组元素的倒置,出其中的错误并改正之。#include "stdio.h"
#define M 5
int main()
{ int a[M]={1,2,3,4,5};
int i,j,t;
i=0;j=M;
while(i < j
{
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
i++;
j--;
}
for(i=0;i
return 0;
}
正确答案:
#include
#define M 5
int main()
{ int a[M]={1,2,3,4,5};
int i,j,t;
i=0;j=M-1;
while(i < j)
{
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
i++;
j--;
}
for(i=0;i<="">
return 0;
}
3.下面程序的功能是将数组元素倒置,出其中的5处错误并改正之。
#include "stdio.h"
#define M 5;
main()
{ int a[M]={1,2,3,4,5};
int i,j,*t;
i=0;j=M-1;
while(i)
{
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
i++;j++
}
for(i=0;i<="">
}
4.在下面这个程序中,要求其实现的功能是对用户输入的任意整数计算其阶乘,输入小于等于-1的数时退出程序。下面给出的是一个有错误的程序,请出其中的错误,并改正之。
#include
#define END -1;
long Factorial(int x);
main()
{
int x;
while (1);
{
printf("input x:);
scanf("%d", x);
if (x <= END)
break
else
printf("%d! = %d\n", x, Factorial(x)); }
}
long Factorial(int x)
{
int i;
int result;
for (i=1, i<=x, i++)
result *= i;
}
改对答案:#include
#define END -1
long Factorial(int x);
int main()
{
int x;
long Factorial(int x);
while (1)
{
printf("input x:");
scanf("%d", &x);
if (x <= END)
break;
else
printf("%d! = %d\n", x, Factorial(x)); }
}
long Factorial(int x)
{
int i;
int result;
result=1;
for (i=1;i<=x; i++)
result=result*i;
return result;
}
5.下面程序的功能是读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。出其中的错误,并改正之。
#include "stdio.h"
main()
{ int i,a,n=1;
while(n<=7)
{
do
{
scanf("%d",a);
}while(a<1 && a>50);
for(i=1;i<=a;i++)
printf("*");
printf("\n");
n++;
}
}
6.以下程序的功能是计算十个数据的平均值。出其中的错误并改正之。
#include
void main(void)
{
int i, sum;
float avg;
int sc[10], *p = sc;
for (i=0, i<10, i++)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。