【问题描述】
老师带领班级到公园春游。自由活动时间结束,老师发现有一名同学还没有归队。已知班上共有 N 名同学,每位同学都有一个从 1 到 N 的班级内编号用以区分。现在归队的同学分别报出自己的班级内 编号,你能帮老师找到是哪位同学仍未归队吗?
【输入描述】
第一行一个整数 N,代表共 N 名同学。 第二行 N-1 个不同的数字𝐴𝑖(1 ≤ 𝐴𝑖 ≤ 𝑁),代表已归队的同学编号。
【输出描述】
输出一个整数,即没有归队的同学编号。
【输入样例】
5
1 5 3 2
【输出样例】
4
【数据规模】
100%的数据满足1 ≤ 𝑁 ≤ 2 15
【题解】
本题关键点:定义flagn,循环找 若没有则返回0,代码如下.
#include <iostream>
using namespace std;
long long N;
int searchdata(int x,long long S[]){
int flagn=0;
for(int k=0;k<N;k++){
if(x==S[k]){
flagn+=1;
}else{
flagn+=0;
}
}
return flagn;
}
int main(){
int flag;
cin>>N;
long long S[N];
for(int i=0;i<N-1;i++){
cin>>S[i];
}
for(int j=1;j<=N;j++){
//查询这个值是否有,无则返回0
flag=searchdata(j,S);
if(flag==0){
cout<<j;
break;
}
}
cout<<endl;
return 0;
}