三、程序改错题(下列程序中,加“**”的行有错误,请更正,每句2分,共计20分)
1.给定程序的功能是:判断键盘所输入的两个数是否相等。请改正程序中的错误,使它能得出正确的结果。
#include <stdio.h>
void main()
{ int a,b;
printf ("please input two number: \n");
** scanf ("%d,%d", a,b);
** if (a=b) printf ("a equel to b \n");
else printf ("a is not equel to b \n");
}
2.修改下列代码中的错误语句。
#include <stdio.h>
void main()
{int a=1,*p;
char str[]=”Hello”,*q;
** p=a;
** q=&str;
}
3.给定程序的功能是:返回a所指数组中最小的值所在的下标值,修改错误代码行:
int fun(int *a,int n)
{int i,j=0,p;
p=j;
for(i=j;i<n;i++)
** if(a[i]<a[p]) a[p]=a[i];
** return(n);
}
4.给定程序的功能是:两个数求和,修改错误代码行:
#include <stdio.h>
void main()
{
** int a,b;
a=3;
b=6;
sum=a+b;
** printf(“sum=%f\n”,sum);
}
5.给定程序的功能是:求1+2……+99+100,修改错误代码行:
#include <stdio.h>
void main()
{int i,sum;
i=1;
** sum=1;
do{
sum+=i;
** i--;
}while(i<=100);
printf(“%d\n”,sum);}