#include<iostream> using namespace std; //字符串的输入 int main() { char ch, s[80]; while((ch=cin.get()) != '\n') cout<<ch; // I am a student cout<<endl; do{cin.get(ch); cout<<ch;} while(ch!='\n'); // You are a worker cin.get(s,80); cout<<s<<endl; // We are learning the C++ language return 0; } //整型数组的输入 //给定数组长度 int main() { int n = 0; cin >> n; vector<int> p(n); for(int i = 0; i < n; i++){ cin >> p[i]; } return 0; } //数组长度不定 //方法1:这种方法使用getchar和cin共同进行处理。假设输入为-1,1,-1,1。首先,cin>>会根据i的类型读一个int,他遇到space会终止,因此第一次得到-1,接着每次getchar都会得到一个空格,这时候继续读就会读到第二个元素1,一直while到终止条件,读到一个换行符“\n”. { vector<int> a; int i = 0; do{ cin >> i; a.push_back(i); }while(getchar() !='\n'); return 0; } //方法2:使用getline(cin, str)读到一行字符串,然后将getline得到的stringstream input中,然后input>>输出会被space截断,直接>>到一个int类型这种就可以自动实现类型转换,也很方便。当然也可以用atoi。 #include<sstream> //注意加这个头 int main() { string str,temp; getline(cin, str); int i = 0; vector<int> p; stringstream input(str); while(input >> i){ p.push_back(i); } return 0; }