问题标题: 酷町堂:完了完了,1分题50分 炸了炸了

0
0
已解决
王子健
王子健
初级天翼
初级天翼

4359   相似图形    经验值:0

题目描述 Description

图图和小美是牡丹小学六(1)班的学生。秉承“学习使我妈快乐”的精神,他们一直努力地学习新的知识。特别是在数学知识的学习上,他们具有很强的超前意识,现在已经学到了相似图形。以三角形为例,如果两个三角形的三边成比例,那么这两个三角形就相似。比如,第一个三角形的三边长分别为4、5、6,第二个三角形的三边长分别为8、10、12,则有8/4=2,10/5=2,12/6=2,他们的比例都是2,因此这两个三角形相似。现分别给出这两个三角形的三边长度,请判断它们是否相似,如果相似,输出“Yes”,如果不相似,输出“No”。

输入描述 Input Description

两行:第一行三个正整数,为第一个三角形的三边长;第二行三个正整数,为第二个三角形对应的三边边长。

输出描述 Output Description

一行:Yes或No。

样例输入 Sample Input

4 5 6 8 15 12

样例输出 Sample Output

No

数据范围及提示 Data Size & Hint

每一个数都不超出int范围,数据保证能构成三角形,第二个三角形对应边的长度一定大于等于第一个三角形的对应边,且比例一定是正整数。

 

这么简单的一道题50分,服了服了

我的错误代码:

#include <iostream>
using namespace std;
double a, b, c, x, y, z;
int main() {
    cin >> a >> b >> c >> x >> y >> z;
    if(x/a == y/b == z/c) cout << "Yes";
    else cout << "No";
    return 0;
}

定义的double,一开始int是30分

王子健在2020-08-22 16:40:13追加了内容

再一次WA红色传说

这次60分

代码:

#include <iostream>
using namespace std;
double a, b, c, x, y, z;
int main() {
    cin >> a >> b >> c >> x >> y >> z;
    if(x/a==2&&y/b==2&&z/c==2) cout << "Yes";
    else cout << "No";
    return 0;
}

 


0
已采纳
江见匀
江见匀
新手光能
新手光能

x/a有可能不=2

 d=x/a;

 if(y/b==d&&z/c==d) cout << "Yes";

试试他!

 

江见匀在2020-08-22 19:22:35追加了内容

我试了 100分~

1
邹昊轩
邹昊轩
资深光能
资深光能

if(x/a==2&&y/b==2&&z/c==2)

    应该这样写

 

1
吴文光
吴文光
新手光能
新手光能

if条件错了应该这样写x/a==2&&y/b==2&&z/c==2

1
0
余彦文
余彦文
初级光能
初级光能

你这样写程序是这样判断的:

x/a == y/b == z/c

先判断:x/a == y/b

假设返回true

接下来就会判断:1==z/c

所以就错了

0
龙舟
龙舟
高级光能
高级光能

#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int main(){
    string s;
    int m;
    cin>>s>>m;
    for(int i=1;i<=m;i++){
        for(int i=0;i<=s.size();i++){
            if(i==s.size()||s[i]>s[i+1]){
                s.erase(i,1);
                break;
            }
        }
        while(s[0]=='0'&&s.size()!=1){
            s.erase(0,1);
        }
        cout<<s<<endl;
    }
    while(s[0]=='0'&&s.size()!=1){
        s.erase(0,1);
    }
    return 0;
}
这是正确的代码,你看看

我要回答