给你n个数,再给你一个数k,查找k在这n个数中第一次出现的位置,不存在输出"No"
输入
多组测试数据,对于每组测试数据
第一行输入一个整数n
第二行输入n个整数ai
第三行输入一个整数k
输出
输出一行
样例
输入
7 8 8 4 1 9 3 7 3 5 8 1 5 1 3 3 5 9 2 6 8 8 4 1 3 10
输出
5 4 No No
#include <bits/stdc++.h>
using namespace std;
int a[110];
int main()
{
int n;
int k;
//这里要一直输入,所以用while.
while(scanf("%d",&n)==1)
{
for(int i=1;i<=n;i++)
{
//这里重复执行n次(一直输入n个数)
scanf("%d",&a[i]);
}
int flag=-1;//还是标记,如果flag == -1就输出No,否则输出那个数
scanf("%d",&k);
for(int i=1;i<=n;i++)
{
//从1到n(一直枚举到n)判断是否等于刚刚输入的k
if(a[i]==k)
{
//有没有任何的书等于k
flag=i;
break;
//直接break,否则就不是第一次出现的位置了
}
}//要在里面判断,否则除了花括号flag就无效了
if(flag == -1)
{
printf("No\n");
}
else
{
printf("%d\n",flag-1);
//这里实际的输出比真正的答案少一,所以要减一
}
}
return 0;
}