#include<stdio.h>
#define MAXN 10
int main(void)
{
int i,flag,n,x;
int a[MAXN];
printf("Enter n, x:");
scanf("%d%d",&n,&x);
printf("Enter %d integers:",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
flag=0;
for(i=0;i<n;i++){
if(a[i]==x){
printf("Index is %d\n",i);
flag=1;
}
}
if(flag==0){
printf("Not Found\n");
}
return 0;
}
这是源代码,求如果数组a中的元素与x的值相同,输出第1个满足条件的数组元素下标,否则,输出“Not Found”
你这代码没啥大毛病啊,除了有点小瑕疵
我改了一下
#include <stdio.h>
#define MAXN 10
int main(void)
{
int i, flag, n, x;
int a[MAXN];
printf("Enter n, x:");
scanf("%d %d", &n, &x);
printf("Enter %d integers:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
flag = 0;
for (i = 0; i < n; i++) {
if (a[i] == x) {
printf("Index is %d\n", i);
flag = 1;
break;
}
}
if (flag == 0) {
printf("Not Found\n");
}
return 0;
}
运行结果如下
找到了的情况
所以,你想???
flag=1;
后面加一句 break;