我需要编写一个程序来读取n个A联赛足球队的统计数据,并打印出属于联赛B的球队名称。
一支球队属于乙级联赛,如果它在m个星期间玩得不到k分,其中m在1到150之间。每支球队获胜三分,平局获得一分,失去时获得零分。 / p>
输入规范:在第一行中,您将获得0&lt; 0的团队数量。 n≤500且点0 <0。 k≤300需要留在联盟A.然后在以下n行中,将有球队名称及其结果。分号表示输入系列的结束。
2号代表胜利,1号代表平局,0号代表亏损。
输出规格:
Sample Input I 4 19 Team_A 1 1 1 1 1 1 1 1 1 0 1 1 1 0 2 1 0 ; Team_B 0 1 0 2 2 1 1 0 1 1 0 2 0 1 0 0 2 ; Team_C 0 0 1 0 2 2 2 1 1 1 1 1 0 0 2 1 2 ; Team_D 0 1 0 1 2 1 2 1 0 0 0 2 2 2 0 0 0 ; Sample Output I Team_A 16 Team_B 18
这是我提出的代码,但输出错误,我不知道为什么,
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n,points,sum=0,i,value;
char name[15];
char p;
scanf("%d %d",&n,&points);
for(i=1;i<=n;i++)
{
scanf("%s",&name);
do
{
scanf("%c ",&p);
if(p!=';')
{
value=p-48;
sum=sum+value;
}
}while(p!=';');
if(sum<=points)
printf("%s %d",name,sum);
}
return 0;
}
答案 0 :(得分:0)
您可以通过使用输出语句填充程序来查找问题
如果在scanf("%c ",&p);
之后添加输出语句以显示p
的值,您会发现p的第一个值是空格字符,这会破坏您的计算。
同样,如果您追踪value
的值,您会发现您忘记将每个团队的此变量初始化为零。