0
已解决
黄瀚霆
初级光能
初级光能
http://judge.codingtang.com/problem/1665/ #include<iostream> using namespace std; int main() { int a; cin>>a; if(a>=10) cout<<"Yes "<<a-10; else cout<<"No"; if(a-10==0) cout<<"Yes"; return 0; }
1
已采纳
马佳滢
新手天翼
新手天翼
错误1.
if(a>=10)
cout<<"Yes "<<a-10;
改成:
if(a>10)
cout<<"Yes "<<a-10;
因为:题目要求如果输出Yes,有剩余输出剩下的排骨数量,为零则不输出,以空格隔开。
第一个判断:if(a>=10)
判断成立,就执行cout<<"Yes"<<a-10,可是当a==10时是不要输出a-10的。
错误2.
else
cout<<"No";
if(a-10==0)
cout<<"Yes";
改为:
else if(a-10==0)
cout<<"Yes";
else
cout<<"No";
因为:在你的程序中,只要if(a>=10)不成立,
就输出“No”,
输出后再判断a-10是不是=0,
输入10的运行结果是"NoYes",
应该先判断 if(a-10==0),
else 输出“No”.
0
贾敬波
高级守护
高级守护
这是两重判断,第一个判断需要看够不够吃,判断条件是a>=10
第二个判断是看看有没有剩余,判断条件是a>10就输出a-10,a<=10就不输出。
核心代码如下
if(a>=10)cout<<"Yes";
if(a<10)cout<<"No";
if(a>10)cout<<" "<<a-10;
0
-1