如何重写这个c ++简单代码?

时间:2015-04-19 21:22:58

标签: c++ input rewrite output

下面的代码是一个完美的c ++代码,老师要求我们重写它,以便只在一条指令中输入和输出。

我真的不知道怎么做,而且我已经做了几个小时的研究。

我真的很感激如何做到这一点。

#include <iostream>
using namespace std;

int main()
{
    int c;
    cin >> c;

    std;

    if(c == 0) {
        cout << "user sent 0" << endl;
    }
    else {
        cout << "user sent a number different from 0" << endl;
    }

    return 0;
}

感谢阅读。

2 个答案:

答案 0 :(得分:5)

如果您的老师将if-else语句视为一条指令,我可以提出以下建议:

#include <iostream >
using namespace std;

int main() { 
    int c;
    if ( (cin >> c) && c==0 ) 
        cout << ”user sent 0” << endl ;
    else cout << ”user sent a number different from 0” << endl ; 
    return 0; 
}

如果他更严格地看待它,那么你可以尝试:

    int c;
    cout << ( (cin >> c) && c==0  ? "user sent 0" : "user sent a number different from 0"  ) << endl;  
    return 0; 

从概念上讲,我喜欢最后一个。但是当我再次阅读它时,它让我想起了B.Kernighan的名言:&#34; 调试是第一次编写代码的两倍。因此,如果您尽可能巧妙地编写代码,那么根据定义,您不够聪明,无法对其进行调试。&#34;

答案 1 :(得分:1)

这是我能做的最小的事情:

   std::cout << (std::cin.get() == '0' ? "user sent 0" : "user sent a number different from 0");