问题标题: 1867 打怪升级2

0
0
已解决
薛新奥
薛新奥
新手光能
新手光能
#include<iostream>
using namespace std;
int main()
{
    int a,b,c,d; 
    cin>>a>>b>>d;
    if(a>c)
    {
        a=a+10;
        c=100-2*d;
    }
    if(a<=c)
    {
        a=0;
        c=0;
    }
    cout<<a<<" "<<c;
    return 0;
}

哪里错了?


1
已采纳
陶旭杰
陶旭杰
中级光能
中级光能
if(a>c)//错误
if(a>b)//正确
if(a<=c)//错误
if(a<=b)//正确

因为没有给c赋值。

题目说:输入3个正整数,分别为小超人的攻击力,小怪兽的攻击力,飞回地球需要的时间。

所以您的程序中:

a=小超人的攻击力。

b=小怪兽的攻击力。

c=小超人的防御力。

d=飞回地球需要的时间。

if(a>c)=如果小超人的攻击力>小超人的防御力。

if(a<=c)=如果小超人的攻击力<=小超人的防御力。

您的程序的错误是:赋值并没有任何问题,问题在于:判断中的条件表达式错误。

正确的应该是:

if(a>b)=如果小超人的攻击力>小怪兽的攻击力。

if(a<=b)=如果小超人的攻击力<=小怪兽的攻击力。

希望能够帮到您!!!

1
蒋智航
蒋智航
高级天翼
高级天翼
if(a>c)

改成

if(a>b)




 

1
杨陈卓
杨陈卓
新手天翼
新手天翼

核心代码

    if(a>b)
        cout<<a+10<<" "<<100-c*2<<endl;
    if(a<b||a==b) 
        cout<<0<<" "<<0<<endl;

 

0
时梓繁
时梓繁
修练者
修练者
int guai,chaoren,feixiang,fangyu;
    cin>>chaoren>>guai>>feixiang;
    if(chaoren<=guai)
    {
    chaoren=fangyu=0;
    cout<<chaoren<<" "<<fangyu;
    return;
    }
if(chaoren>guai) {
        chaoren=chaoren+10;
        fangyu=100;
        fangyu=fangyu-feixiang*2;
        cout<<chaoren<<" "<<fangyu<<endl;
        return;
    }
}
int main()
{
    read();
0
张睿杰
张睿杰
初级天翼
初级天翼
if(a>c)

改成

​
if(a>b)

后面那个判断也是

0
0
颜咏春
颜咏春
中级光能
中级光能
if(a>b)
    {
        x=100;
        a+=10;
        x-=c*2;
    }
    else
    {
        c=0;
        a=0;
    }
我要回答