721. 递增序列(c++语法题),三种方法,知识点总结

63 阅读1分钟

在这里插入图片描述

第一种方法
#include <iostream>

using namespace std;

int main() {
        
    int x;
    while(true) 
    {  
        cin >> x;
        if (!x) break;
        
        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) 
    {  
        if (!x) break;
        
        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) 
    {  
        if (!x) break;
        
        for (int i = 1; i <= x; i++) cout << i << ' ';
        cout << endl;
    }
    return 0;
}

知识点总结

  • cin有默认的返回值,如果没有得到值,会返回一个0或者返回一个false
  • (cin >> x ,x) 逗号表达式的值是最后一个数的值
  • scanf("%d",&x) scanf如果没有读到值会返回一个-1
  • sacnf("%d",&x) != -1 的等价写法 ~scanf("%d",&x)