我的代码提取是
if (num == 0) {
cout << 1;
cout << 2;
}
else if (num == 1) {
cout << 0;
cout << 2;
}
else if (num == 2) {
cout << 0;
cout << 1;
}
其中0 <= num&lt; = 2。
我在问,因为cout << ...
语句将被转换为更大,但(几乎)彼此相同的内容。
*我的意思是优化美化&#39;代码(例如删除5个重复的cout
语句)。
我没有把#34;美化&#34;在这个问题中,因为它在SO问题中听起来很奇怪。
答案 0 :(得分:6)
也许这个?
cout << "100"[num];
cout << "221"[num];
答案 1 :(得分:2)
这些方面的一些东西,也许是:
for (int i : {0, 1, 2}) { // or for (int i = 0; i <= 2; ++i) {
if (i != num) {
std::cout << i;
}
}
答案 2 :(得分:1)
嗯,这里有些不同(没有if
或for
):
cout << ( (n + 1) % 2);
cout << ( (n + 2) % 2) + (2 - n);
显然:n = 0,1,2。
答案 3 :(得分:0)
这是另一种
cout.write((0==n)?("12"):((1==n)?("02"):("01")),2);