私信TA

用户名:dotcpp0784625

访问量:148

签 名:

等  级
排  名 2346
经  验 2321
参赛次数 0
文章发表 19
年  龄 20
在职情况 学生
学  校 北京理工大学
专  业 弹药工程与爆炸技术

  自我简介:

解题思路:

首先需要输入n组数据,其中第一组数据为参考数据,其余n-1组数据均需要与第一组数据进行比较,从而得出是否更加有效。可以采用一个条件语句进行判断,如果n为输入时的n,便将n20/n10的值记录下来,与后面输入的每组n2/n1进行比较。

注意事项:

注意审题,只有在|n2/n1-n20/n10|>0.5时才能判断是否更好,其他条件下均为效果一样,详细解题思路参考代码内注释。

参考代码:

#include <stdio.h>

#include <math.h>


int main()

{

    int n10 = 0;

    int n20 = 0;//记录第一组参考数据的值

    int n1 = 0;

    int n2 = 0;//记录后面每组输入的数据值

    int n = 0;

    double ret0 = 0.0;//存储参考数据的有效率

    double ret1 = 0.0;//存储输入数据的有限率


    scanf("%d", &n);


    int n0 = n;


    while (n)

    {

        if (n == n0)//记录参考数据的输入

        {

            scanf("%d %d", &n10, &n20);

            ret0 = (n20 / 1.0) / (n10 / 1.0);//计算参考数据有效率

            n--;

        }

        else//输入比较的数据

        {

            scanf("%d %d", &n1, &n2);

            ret1 = (n2 / 1.0) / (n1 / 1.0);//计算输入数据有效率

            //对比参考数据有效率以及输入数据的有效率,并输出比较结果即可

            if (ret1 - ret0 > 0.05)

            {

                printf("better\n");

                n--;

            }

            else if (ret0 - ret1 > 0.05)

            {

                printf("worse\n");

                n--;

            }

            else

            {

                printf("same\n");

                n--;

            }

        }

    }


    return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »