问题描述
给你 n 个数,再给你一个数 k,查找 k 在这 n 个数中第一次出现的位置(从 0 开始计数),不存在输出 No。
输入
多组测试数据,对于每组测试数据:
第一行输入一个整数 n (1 ≤ n ≤ 100)。
第二行输入 n 个整数 a[i]。
第三行输入一个整数 k。
输出
查找 k 在这 n 个数中第一次出现的位置(从 0 开始计数),不存在输出 No。
样例
输入数据 1
7
8 8 4 1 9 3 7
35
8 1 5 1 3
35
9 2 6 8 8
41
3
10
输出数据 1
5
4
No
No
参考代码
代码已经做了注释
#include<bits/stdc++.h>
using namespace std; // 定义全局变量k、n和x
int k, n, x; // 定义数组a,用于存储输入的数字
int a[110]; // 主函数开始
int main(){ // 循环读取输入,直到没有输入为止 while(cin>>n){ // 读取n个数并存储到数组a中 for(int i=0;i<n;i++)cin>>a[i]; // 读取要查找的数字k cin>>k; // 初始化标记为false,表示还没有找到k bool f = false; // 存储找到k的位置 int c; // 遍历数组a for(int i=0;i<n;i++){ // 如果找到了k if(a[i]==k){ // 标记为true f = true; // 存储位置 c = i; // 结束循环 break; } } // 如果找到了k if(f == true){ // 输出找到的位置 cout<<c<<endl; }else{ // 如果没有找到k,输出"No" cout<<"No"<<endl; } } // 主函数结束,返回0 return 0;
}