实验9-改错题.doc
文本预览下载声明
改错题
1、(5分)从键盘任意输入一个字符串(字符串可以有空格),在给定的一组字符串中寻找该输入字符串,若找到,则打印该字符串,否则打印Not find!。
注意:
(1)请将修改正确后的完整源程序拷贝粘贴到答题区内。
(2)对于没有错误的语句,请不要修改,
修改原本正确的语句也要扣分。
(3)当且仅当错误全部改正,且程序运行结果调试正确,才给加5分。
#include string.h
#include stdio.h
main()
{
int i, findFlag = 1;
char x;
char *str[]={ Pascal,Basic,Fortran, Java,Visual C, Visual Basic };
printf(Input string:\n);
gets(x);
while (i6 !findFlag)
{
if (x=str[i])
{
findFlag = 0;
}
i++;
}
if (!findFlag)
{
printf(%s\n,x);
}
else
{
printf(Not find!\n);
}
}
*******************************************************************************
参考答案:
#include string.h
#include stdio.h
main()
{
int i=0, findFlag = 1;
char x[80];
char *str[]={ Pascal,Basic,Fortran, Java,Visual C, Visual Basic };
printf(Input string:\n);
gets(x);
while (i6 findFlag)
{
if (strcmp(x,str[i])==0)
{
findFlag = 0;
}
i++;
}
if (!findFlag)
{
printf(%s\n,x);
}
else
{
printf(Not find!\n);
}
}
*******************************************************************************
2、(5分)从键盘任意输入两个整数,编程实现将其交换后再重新输出。
注意:
(1)请将修改正确后的完整源程序拷贝粘贴到答题区内。
(2)对于没有错误的语句,请不要修改,
修改原本正确的语句也要扣分。
(3)当且仅当错误全部改正,且程序运行结果调试正确,才给加5分。
#include stdio.h
void Swap(int x, int y)
int main()
{
int a, b;
printf(Please enter a,b:);
scanf(%d,%d, a, b);
printf(Before swap: a = %d, b = %d\n, a, b);
Swap(a, b);
printf(After swap: a = %d, b = %d\n, a, b);
return 0;
}
void Swap(int *x, int *y);
{
int *temp;
*temp = *x;
*x = *y;
*y = *temp;
}
*******************************************************************************
参考答案:
#include stdio.h
void Swap(int *x,
显示全部