#include <stdio.h> int main(void) { int i, flag, x; int a[5]; for(i = 0; i < 5; i++) scanf("%d", &a[i]); scanf("%d", &x); flag = 0; /*************found**************/ for(i = 0; i < 5; i++) if(a[i] == x) { printf("Index is %d\n", i); flag =1; break; } /*************found**************/ if(flag=i) printf("Not Found\n"); return 0; }
时间: 2023-07-18 08:40:31 浏览: 96
#include<stdio.h>
这段代码在输出结果的地方存在错误。flag=i语句的意思是将i的值赋给flag,因此不管flag的值是多少,if语句的判断结果都是真。这就导致了程序总是输出"Not Found",即使找到了x。修改后的代码如下:
```c
#include <stdio.h>
int main(void) {
int i, flag, x;
int a[5];
for(i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
scanf("%d", &x);
flag = 0;
for(i = 0; i < 5; i++) {
if(a[i] == x) {
printf("Index is %d\n", i);
flag = 1;
break;
}
}
if(flag == 0) {
printf("Not Found\n");
}
return 0;
}
```
你可以将这段代码复制到一个C语言编译器中运行,然后按照提示输入5个整数和要查找的数,程序会输出相应的结果。
阅读全文