问题标题: 请问1029错误在哪 应该怎么编?

0
0
已解决
张曈
张曈
高级守护
高级守护
#include<iostream>
using namespace std;
int main()
{
    int n,a[21],b[21];double y,x;
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i]>>b[i];
    x=b[1]/a[1];
    for(int j=2;j<=n;j++)
    {
        y=b[j]/a[j];
        cout<<x<<' '<<y;
        if(y-x>5)cout<<"Better\n";
        else if(x-y>5)cout<<"Worse\n";
        else cout<<"Same\n";
    }
    return 0;
}

以上是代码(judge.codingtang.com/ploblem/1029)


2
已采纳
马佳滢
马佳滢
新手天翼
新手天翼

张曈 你好!

1、定义long型变量a,b,n和double变量x,y;

2、输入n、a、b;

3、

x=b/(a/1.0);//x存储原鸡尾酒疗法有效率

4、循环:从2到n:

 for(int i=2;i<=n;i++)//循环判断其他n-1种改进疗法与原鸡尾酒疗法的差距

5、循环内输入a和b;

6、

 y=b/(a/1.0);//y 存储第i种改进鸡尾酒疗法的有效率

7、判断:如果第i种改进疗法的有效率 减 原鸡尾酒疗法有效率大于0.05,输出Better;否则,如果原鸡尾酒疗法有效率 减 第i种改进疗法的有效率大于0.05,输出Worse;要不然输出Same;

 
if(y-x>0.05)printf("Better\n");
else if(x-y>0.05)printf("Worse\n");
else printf("Same\n");//判断第i种疗法与原鸡尾酒疗法的差距

 

 

马佳滢在2018-01-18 21:23:05追加了内容

这里用不到数组啦~运行结果图如下

0
夏天
夏天
中级守护
中级守护

c=(double)y/x;
    for(int i=1;i<n;i++){
        cin>> f >> g;
        k=(double)g/f;
        if(k-c>0.05) cout<< "Better \n";
        else if(c-k>0.05) cout<<"Worse \n";
             else cout<< "Same \n";
    }

0
刘睿轩
刘睿轩
中级光能
中级光能

这里不需要数组。

这是核心:

while(n-1){
cin>>d>>c;n--;
    if(c/d>a+0.05)cout<<"Better"<<endl; else if(a-0.05>c/d)cout<<"Worse"<<endl;
            else cout<<"Same"<<endl;}
望采纳!

0
谢其桦
谢其桦
资深守护
资深守护

  if(c/d>a+0.05)cout<<"Better"<<endl; else if(a-0.05>c/d)cout<<"Worse"<<endl;

很long....

0
王子轩
王子轩
新手光能
新手光能

核心代码:

cin>>n>>b>>a;
a/=b;
while(n-1)
{
cin>>d>>c;n--;
if(c/d>a+0.05)cout<<"Better"<<endl;
else if(a-0.05>c/d)cout<<"Worse"<<endl;
else cout<<"Same"<<endl;
0
我要回答