程序改错题(全文)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“程序改错题及答案”。
/*-----------------------
【程序改错】
-------------------------
功能:求1到20的阶乘的和。
-----------------------*/ #include “stdio.h” void fun(){
int n,j;
float s=0.0,t=1.0;
for(n=1;n
{
/**********FOUND**********/
s=1;改成t=1;
for(j=1;j
/**********FOUND**********/
t=t*n;改成t=t*j;
/**********FOUND**********/
s+t=s;改成s=s+t;
}
/**********FOUND**********/
printf(“jiecheng=%dn”,s);改成printf(“jiecheng=%fn”,s);}
main(){
fun();}
/*-----------------------
【程序改错】
-------------------------
题目:该函数用于交换两个变量的值。
-------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。-----------------------*/ #include “stdio.h” void change(int *pa,int *pb){
int temp;
/**********FOUND**********/
*temp=pa;改成temp=*pa;
*pa=*pb;
*pb=temp;}
main(){ int x, y;
x=10;y=20;
/**********FOUND**********/
change(x,y);改成change(&x,&y);
printf(“%d %d”, x, y);}
改错题:
/*-----------------------
【程序改错】
-------------------------
功能:编写input()和output()函数输入,输出5个学生的数据记录。
-----------------------*/
#include “stdio.h” #define N 5
struct student {
char num[6];
char name[8];
int score[3];} stu[N];
input(stu)struct student stu[];{
/**********FOUND**********/
int i;j;改成int i,j;
for(i=0;i
{
printf(“n please input %d of %dn”,i+1,N);
printf(“num: ”);
scanf(“%s”,stu[i].num);
printf(“name: ”);
scanf(“%s”,stu[i].name);
for(j=0;j
{
/**********FOUND**********/
printf(“score %d.”,j);改成printf(“score %d.”,j+1);
scanf(“%d”,&stu[i].score[j]);
}
printf(“n”);
} }
print(stu)struct student stu[];{
int i,j;
printf(“nNo.Name Sco1 Sco2 Sco3n”);
/**********FOUND**********/
for(i=0;i
{
printf(“%-6s%-10s”,stu[i].num,stu[i].name);
for(j=0;j
printf(“%-8d”,stu[i].score[j]);
printf(“n”);
} }
main(){
input();
print();}