C++while循环特殊用法

初学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;  
           /*   
           此处引入新的知识点:
                cin读入函数是有返回值的,
                此题意思是是如果读到0跳出循环,等价于方式一的写法
                while(ture){
                    if(x>0) break;
                }

           */
    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(){
    /*
        方式三:
        while循环当中是一个",表达式",那么条件里的值就是最后一个",表达式",如果不满足条件break
        while的结束条件是0
    */
    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))

原文链接: https://www.cnblogs.com/qxsong/p/15837308.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++while循环特殊用法

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/187520

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 上午11:18
下一篇 2023年2月12日 上午11:18

相关推荐