AcWing 721. 递增序列
读取一系列的整数 X,对于每个 X,输出一个 1,2,…,X 的序列。
输入格式
输入文件中包含若干个整数,其中最后一个为 0,其他的均为正整数。
每个整数占一行。
对于输入的正整数,按题目要求作输出处理。
对于最后一行的整数 0,不作任何处理。
输出格式
对于每个输入的正整数 X,输出一个从 1 到 X 的递增序列,每个序列占一行。
数据范围
1≤X≤100
输入样例:
5
10
3
0
输出样例:
1 2 3 4 5
1 2 3 4 5 6 7 8 9 10
1 2 3
#include <iostream>
using namespace std;
int main() {
int x;
while (cin >> x && x) { // 第一种方法
for (int i = 1; i <= x; i++) cout << i << " ";
cout << endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main() {
int x;
while (cin >> x, x) { // 第二种方法
for (int i = 1; i <= x; i++) cout << i << " ";
cout << endl;
}
return 0;
}
// 错误写法
#include <iostream>
using namespace std;
int main() {
int x;
while (cin >> x) {
for (int i = 1; i <= x; i++)
cout << i << " ";
cout << endl;
}
return 0;
}
// 会导致最后一个输入0仍然会进入循环,输出一个空行
:::success
不知道该读入多长时:
用 cin 的话,读到末尾返回0
用 scanf 的话,读到末尾返回 -1,~(-1) == 0
:::
从字符串读取
string s = "1971-05-28";
sscanf(s.c_str(), "%d-%d-%d", &year, &month, &days);