问题标题: 怎么错了 1665

0
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
贾文卓
贾文卓
高级光能
高级光能

把第七行if(a>=10)改成if(a>10)

把第九行else改成else if(a<10)

我要回答