[问题] 询问程式问题

楼主: kinkipikachu (不想抬头看星星)   2016-06-14 22:39:46
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
orwell dev_c++ 5.11
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
no
问题(Question):
这是online judge解题系统的一个题目
公平大陆上有许多小王国,常常为了争夺领土而开战,
但是因为公平大陆上的居民都是非常讲究公平的,因此绝对不允许有以多欺少的情形,
所以在开战之前,他们会先统计两方的兵力,如果有一方的兵力是比较多的,
则那一方必须撤出部分的兵力,使两方的兵力相等,你能帮他们完成这项工作吗?
输入说明:
第一行有一个正整数 N (1<=N<=10) 代表接下来有几组资料,
接下来有 N 行,每行有两个正整数 A、B,代表 A、 B两方的兵力。
输出说明:
依照每一组资料,输出哪一方(A 或 B)必须撤兵,以及要撤出多少兵力,
才能使两方的兵力相等,如果两方原本的兵力就相同,则请输出 0,
每组资料输出完请换行。
范例输入:help
2
100 150
160 100
范例输出 :
B 50
A 60
喂入的资料(Input):
如上
预期的正确结果(Expected Output):
我在dev_c++ 都是正确,但不知道为何到judge就会有错
错误结果(Wrong Output):
在 judge的错误结果
与正确输出不相符(line:1)
您的答案为: A 850
正确答案为: B 50
程式码(Code):(请善用置底文网页, 记得排版)
#include<stdio.h>
int main()
{
int i,n;
int a[i],b[i];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&a[i],&b[i]);
}
for(i=0;i<n;i++)
{
if (a[i]>b[i])
{
printf("A ");
printf("%d\n",a[i]-b[i]);
}
else if (a[i]<b[i])
{
printf("B ");
printf("%d\n",b[i]-a[i]);
}
else
{
printf("0\n");
}
}
}
补充说明(Supplement):
请各位大大指教,感谢
作者: CaptainH (Cannon)   2016-06-14 22:47:00
int a[i], b[i] <--- 这行错
作者: jobsdone (完工了)   2016-06-15 02:17:00
比较好奇为什么没有error有人可以解释吗
作者: ilms49898723 (LittleBird)   2016-06-15 15:17:00
这只会有warning,用IDE的话要记得把-Wall打开
作者: laladeer (laladeer)   2016-06-16 01:18:00
dev c++允许宣告阵列的时候大小可以用变量
楼主: kinkipikachu (不想抬头看星星)   2016-06-19 23:14:00
感谢各位大大的指教,小弟懂了~~~

Links booklink

Contact Us: admin [ a t ] ucptt.com