第11,12,15和16行是错误:“int类型的操作数无效,const char [2]到二元运算符<<”(我删除了“`”所以它不会显示它的代码格式)。
#include<iostream>
using namespace std;
int main(){
int md,dg,dd,mg,m,d;
cin >> md >> dg >> dd >> mg;
if (dd+dg==md+mg){
cout << (mg>dg) ? 0 : 1 << " ";
cout << (dg>mg) ? 0 : 1 << endl;
}
else{
cout << (mg+md>dd+dg) ? 0 : (dd+dg-mg-md) << " ";
cout << (dg+dd>md+mg) ? 0 : (md+mg-dg-dd) << endl;
}
system("pause");
}
答案 0 :(得分:7)
你需要在三元表达式周围加上括号:
cout << ((mg>dg) ? 0 : 1) << " ";
否则输入被解释为
cout << (mg>dg) ? 0 : (1 << " ");
答案 1 :(得分:0)
你所缺少的是三元表达式的括号。以下是修复。
cout&lt;&lt; ((mg> dg)≤0:1)&lt;&lt;&lt; “”;
cout&lt;&lt; ((dg> mg)≤0:1)&lt;&lt; ENDL;
cout&lt;&lt; ((mg + md> dd + dg)≤0:(dd + dg-mg-md))&lt; “”;
cout&lt;&lt; ((dg + dd> md + mg)≤0:(md + mg-dg-dd))&lt;&lt; ENDL;
答案 2 :(得分:0)
它应该是:cout<<((mg>dg)?0:1)<<endl
,其他人也是如此。