野史
2026-04-30 21:43:11
发布于:辽宁
2阅读
0回复
0点赞
28行题解,老式代码:
1,定义数组
int a[105];
2:定义+输入。
int N,M;
cin>>N>>M;
for(int i=0;i<M;i++)
{
cin>>a[i];
}
3:先在for外定义一个布尔。后在循环内定义一个布尔。
bool f1=true;
for(int i=0;i<N;i++)
{
bool f=false;
5再用for判断有没有一个数字等于学生号码。
for(int j=0;j<M;j++)
{
//判断
if(a[j]==i)f=true;
}
6:如果里面的布尔是0,那么输出它再把外层变false就行。
if(f==false)
{
cout<<i<<" ";
f1=false;
}
7:如果外层是true,那输出N。
if(f1==true)cout<<N;
完整:
#include <bits/stdc++.h>
using namespace std;
int a[105];
int main()
{
int N,M;
cin>>N>>M;
for(int i=0;i<M;i++)
{
cin>>a[i];
}
bool f1=true;
for(int i=0;i<N;i++)
{
bool f=false;
for(int j=0;j<M;j++)
{
if(a[j]==i)f=true;
}
if(f==false)
{
cout<<i<<" ";
f1=false;
}
}
if(f1==true)cout<<N;
return 0;
}
这里空空如也



有帮助,赞一个