OJ在线编程常见输入输出练习场https://ac.nowcoder.com/acm/contest/5657#question
类型1:读取输入元素数量较少 ,适合int,string,double,float
类型1-1:读取输入两个整数 int a,b; cin>>a>>b; 类型1-2:读取多行数组,每行元素较少,为2个 int a,b; vectorv; while(cin>>a>>b){ v.push_back(a); v.push_back(b) 读取数字放进vector中。 } 类型2-:读取输入数字数量未知。
类型2-1:一次性读取多个值 while(cin>>a){ v.push_back(a) ; } 类型2-2:读取输入数字数量未知,但是在一行上。 ```cpp while(cin>>a){ v.push_back(a) ; if(cin.get()=='n')break; } 类型2-3:读取输入多行数字,每行数字的数量不一。 ```cpp vectorv; vector > vv; int a; while(cin>>a){ v.push_back(a) ; if(cin.get()=='n'){ vv.push_back(v);} v.clear(); }
类型3:读取字符串,每行字符串数量未知,以","隔开。
思路:每次读取一行,然后找逗号重建子字符串。string s0,s1; vectorv; while(cin>>s0){ for(int i=0;i 类型4: 读取带空格的字符串,
string s; getline(cin,s);
注意事项:
- #include
通用的库函数。有了它,别的也不需要了。 - 如果输入int数字,系统并不能识别输入的是字符串还是int,
所以对于复杂输入,一律可以考虑用字符串来读取,然后用ascii码来修正。
‘0’ . . . ‘9’ : 48 . . . 57
‘A’ . . . ‘Z’ : 65 . . . 90
‘a’ . . . ‘z’ : 97 . . . 122
- 求a的b次方pow(a,b)。 a^b,在c++代表位运算。



