下面的代码是一个完美的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;
}
感谢阅读。
答案 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");