编程题
ACM模式输入输出
每次处理输入输出都是浪费时间,提前一次写好。
ACM模式输入输出攻略 | C++篇
python输入输出
牛客输入输出练习
python
输入格式
1 2 3 4
处理输入
line=list(map(int,input().strip().split()))
print(line)
输入格式
2 3
1 2 3
1 2 3
处理输入
n,m = map(int,input().strip().split())
lis=[]
for i in range(n):
tmp=list(map(int,input().split()))
lis.append(tmp)
print(lis)
输入格式
1 2 3
4 5 6 7
8 9
处理输入
'''
多行输入:
不指定输入大小
'''
try:
lis=[]
while True:
line = input().strip()
if line == '':
break
lines = list(map(int,line.split()))
lis.append(lines)
print(lis)
except:
pass
固定数目的一维数组
输入格式
3
1 2 3
或
3 1 2 3
第一个3代表数据个数
处理输入
int n;
cin >> n; // 读入数组大小
vector<int> nums(n); // 创建固定大小vector
for (int i=0; i<n; i++){
cin >> nums[i}; // 依次读入
}
不固定数目的一维数组
输入格式
1 2 3 4
处理输入
vector<int> nums;
int num;
while(cin >> num){
nums.push_back(num);
if(getchar()= '\n'){
// 读到换行就结束
break;
}
}
二维数组
输入格式
2 3
1 2 3
1 2 3
处理输入
int m; // 2行
int n; // 3列
cin >> m >> n;
vector<vector<int>> matrix(m, vector<int>(n));
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
cin >> matrix[i][j];
}
}
逗号隔开数据
输入格式
2 3
1,2,3
1,2,3
处理输入
int m; // 接收行数
int n; // 接收列数
cin >> m >> n;
vector<vector<int>> matrix(m);
for(int i = 0; i < m; i++) {
// 读入字符串
string s;
getline(cin, s);
// 将读入的字符串按照逗号分隔为vector<int>
vector<int> vec;
int p = 0;
for(int q = 0; q < s.size(); q++) {
p = q;
while(s[p] != ',' && p < s.size()) {
p++;
}
string tmp = s.substr(q, p - q);
vec.push_back(stoi(tmp));
q = p;
}
//写入matrix
matrix[i] = vec;
vec.clear();
}
字符串
输入格式
abc
处理输入
string s;
cin >> s;
固定数目多个字符串
输入格式
3 abc ab a
处理输入
int n;
cin >> n; // 读入3,说明字符串数组的大小是3
vector<string> strings(n); // 创建大小为3的vector<string>
for(int i = 0; i < n; i++) {
cin >> strings[i];
}
不固定数目多个字符串
输入格式
abc ab a d
vector<string> strings;
string str;
while(cin >> str) {
strings.push_back(str);
// 读到换行符,终止循环
if(getchar() == '\n') {
break;
}
}
字符串转整数数组
输入格式
11,22,3,4
vector<int> vec;
// 读入字符串
string s;
getline(cin, s);
// 将读入的字符串按照逗号分隔为vector<int>
int p = 0;
for(int q = 0; q < s.size(); q++) {
p = q;
while(s[p] != ',' && p < s.size()) {
p++;
}
string tmp = s.substr(q, p - q);
vec.push_back(stoi(tmp));
q = p;
}