初学C++当遇到下面这种类型的输入时:
也就是说:不指定输入的个数,一直输入,直到满足某个条件停止输入!
常规解法:
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
while(true){
int x;
cin>>x;
if(x==0) break;
for(int i=1;i<=x;i++){
cout<<i<< ' ';
}
cout<<endl;
}
return 0;
}
特殊方式一:
#include<iostream>
#include<cstdio>
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>
#include<cstdio>
using namespace std;
int main(){
int x;
while(cin>>x,x){
for(int i=1;i<=x;i++){
cout<<i<<' ';
}
cout<<endl;
}
return 0;
}
特殊方式三:
输入函数不是cin,而是scanf的话:
scanf函数的结束符号是-1,while(scanf("%d",&x) !=- 1) 或 while(~scanf("%d",&x))
|