题目描述
读取一系列的整数 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 n;
while(1 == scanf("%d", &n) , n){
for(int i = 1;i <= n;i ++){
cout << i << " ";
}
cout << endl;
}
return 0;
}
while循环条件中1 == scanf(“%d”, &n)后要加n的理由是:
最后一行输入整数 0 时,scanf 会将 0 也读入,并执行下面一条语句 cout << endl; 因此最后输出会多一行空行,所以会显示 Presentation Error;
而 ,n 的作用是使 while 返回n的值,即在输入 0 时,while 的循环条件返回 0 , while 循环就不会执行,因此完成对输入 0 不做处理。