ACM模式下常见输入(数组和字符串)

本文汇总了ACM编程竞赛中使用C++进行整型数组、字符串及二维数组输入的方法,包括任意大小数组和固定数量的字符串输入等常见场景。

ACM各种输入模式总结(C++)_c++ acm输入_希希雾里的博客-优快云博客

ACM模式各种输入总结C++版_c++ acm模式_怪×咖的博客-优快云博客

1. 整型数组输入

1.1 任意数组大小

cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; ++i) {
	cin >> nums[i];
}
//输出
for (int i : nums) {
	cout << i << " ";
}

1.2 任意数组大小

vector<int> nums;
int val;
while (cin >> val) {
	nums.push_back(val);
	//方法一 cin.get()
	//if (cin.get() == '\n')
		//break;
	//方法二 getchar()
	if (getchar() == '\n')
		break;
}
//输出
for (int i : nums) {
	cout << i << " ";
}

2. 字符串输入

string s;
getline(cin, s);
//输出
cout << s << endl;

3. 二维数组的输入 固定行数和列数

int a;
int b;
//输入行数和列数
cin >> a >> b;
vector<vector<int>> nums(a, vector<int>(b));
for (int i = 0; i < a; ++i) {
	for (int j = 0; j < b; ++j) {
		cin >> nums[i][j];
	}
}
//测试输出
for (int i = 0; i < a; ++i) {
	for (int j = 0; j < b; ++j) {
		cout <<  nums[i][j];
	}
}

4. 一组字符串输入

4.1 固定个数

//字符串个数
int n;
cin >> n;
vector<string> strs(n);
for (int i = 0; i < n; ++i) {
	cin >> strs[i];
}
//测试输出
for (string i : strs) {
	cout << i << " ";
}
cout << endl;

4.2 不固定个数

vector<string> strs;
string str;
while (cin >> str) {
	strs.push_back(str);
	if (getchar() == '\n')
		break;
}
//测试输出
for (string i : strs) {
	cout << i << " ";
}
cout << endl;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值