C++通过cin输入时通过回车判断结束输入方法

情况一:输入一组整数,不知多少个,回车结束输入

	//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');

上述方法本人亲测有效,欢迎大佬在评论区分享更多方法实现

你可能感兴趣的:(算法基础)