情况一:输入一组整数,不知多少个,回车结束输入
//while实现
int s[10001];
int i = 0;
while(cin >> s[i]){
i++;
if(cin.get() == '\n'){
break;
}
}
//do-while实现
int s[10001];
int i = 0;
do{
cin>>s[i];
i++;
}while(cin.get() != '\n');
情况二:第一行输入一个整数,第二行输入一组整数,第一行与第二行无直接关系,并且不知第二行需要输入多少个,回车结束输入
//while实现
int n;
cin>>n;
cin.get(); //关键,要思考为啥?
int s[10001];
int i = 0;
while(cin >> s[i]){
i++;
if(cin.get() == '\n'){
break;
}
}
//do-while实现
int n;
cin>>n;
cin.get(); //关键,要思考为啥?
int s[10001];
int i = 0;
do{
cin>>s[i];
i++;
}while(cin.get() != '\n');
上述方法本人亲测有效,欢迎大佬在评论区分享更多方法实现