信息奥赛题解|输入了几个整数
🚀 题目浏览
【题目描述】
ds 自信熟悉了输入输出格式,有一天,Mr.Han 给他出了个难题,怎么读入一行整数放到数组?
ds 愣了一下,一般是给定输入整数的数目,然后再读入到数组,可是一行整数里面不知道有多少个整数呢?为了降低难度,Mr.Han 保证所有整数非负,要求 ds 回答有多少个整数?
【输入】
输入正整数 $T$,表示 $T$ 组测试数据
每组一行整数,整数以空格隔开,首尾没有空格,长度不超过 $10000$
【输出】
整数的个数,独立一行。
【数据范围】
字符串的长度不超过 $200$,字符串一定只包含一个整数,整数的数值不超过 $2^{30},m<=100$。
【输入样例】
2
1 23 456 7890
21 45 6142
【输出样例】
4
3
☘️ 题解分析
stringstream
の 使用。
🧑🏻💻 C++ 代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main() {
int T;
cin >> T;
getchar(); // 吸收T后的回车符
while (T--) {
// 读取一行数据至line
string line;
getline(cin, line);
// 利用stringstream读入整数
stringstream ss(line);
int ans = 0, t;
while (ss >> t) {
ans++;
}
cout << ans << endl;
}
return 0;
}