大白兔奶糖12138 发表于 2021-11-27 00:14:20

求助

题目描述
有两只勤劳的蚂蚁在准备食物,为了自我激励一下,它们打算开展比赛,看谁在一段时间内准备的食物多一些。你能帮忙做个裁判吗,来统计一下哪只蚂蚁准备得更加多一些?

输入要求
输入有若干行,每行2个数字,第一个整数表示蚂蚁(1表示1号蚂蚁,2表示2号蚂蚁,不会出现其他数字)。第二个整数表示该蚂蚁带回的食物数量,假设该数据都在合法范围内。


当输入两个数字都为0(即0 0)时表示输入结束。


输出要求
输出拖回食物多的蚂蚁的编号和食物总数量。如果相同,输出“equal”(输出不包含双引号)。输出后换行。


输入样例
1 2
2 9
1 7
2 6
1 1
2 0
1 2
2 11
0 0

输出样例
2 26

jackz007 发表于 2021-11-27 00:26:29

#include <stdio.h>

int main(void)
{
       int a , b , c , d                  ;
       for(c = d = 0 ; ;) {
               scanf("%d%d" , & a , & b);
               if(a != 1 && a != 2) break ;
               if(a == 1) c += b          ;
               else d += b                ;
       }
       if(c > d) printf("1 %d\n" , c)   ;
       else printf("2 %d\n" , d)          ;
}
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
1 2
2 9
1 7
2 6
1 1
2 0
1 2
2 11
0 0
2 26

D:\00.Excise\C>

傻眼貓咪 发表于 2021-11-27 15:28:14

#include <stdio.h>

int main()
{
    int a, b, x, y;
    for(a = 0, b = 0;;){
      scanf("%d%d", &x, &y);
      if(!x && !y){
            a > b ? printf("%d %d", 1, a) : b > a ? printf("%d %d", 2, b) : printf("equal");
            break;
      }
      switch(x){
            case 1: a += y; break;
            case 2: b += y; break;
      }
    }
    return 0;
}1 2
2 9
1 7
2 6
1 1
2 0
1 2
2 11
0 0
2 26
页: [1]
查看完整版本: 求助