其实一般常见的输入都比较简单,一般就是告诉你要输入什么,会有几个变量。但是也有一些比较难处理的。
第一种:多组数据,以换行符作为一组数据的结尾,每一组数据不知道有多少个。
那么就要借助cin.get()!='\n’来判断每组数据的结束,程序最后结束是用ctrl+c来结束的。
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x;
while(cin>>x)
{
int res=0;
while(true)
{
res+=x;
if(cin.get()=='\n')break;
cin>>x;
}
cout<<res<<endl;
}
}
情况二:用,隔开数据,每行不知道有多少个数据
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(getline(cin,s))
{
stringstream x;
x<<s;
vector<string>v;
while(getline(x,s,','))
{
v.push_back(s);
}
sort(v.begin(),v.end());
for(auto i:v)cout<<i<<" ";
cout<<endl;
}
return 0;
}
输出注意:输出小数点后几位的方法
cout<<setprecision(2)<<fixed<<x<<endl;