求助
题目描述有两只勤劳的蚂蚁在准备食物,为了自我激励一下,它们打算开展比赛,看谁在一段时间内准备的食物多一些。你能帮忙做个裁判吗,来统计一下哪只蚂蚁准备得更加多一些?
输入要求
输入有若干行,每行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
#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> #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]