【发布时间】:2017-06-06 13:49:08
【问题描述】:
我需要编写一个程序,读取 n 个甲级足球队的统计数据并打印出属于乙级的球队名称。
如果一支球队在比赛 m 周后得分低于 k 分,并且 m 介于 1 和 150 之间,则该球队将落入 B 联赛。每支球队获胜时获得 3 分,平局获得 1 分,输掉时获得 0 分。
输入规范:在第一行,你会得到队数 0
数字 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;
}
【问题讨论】:
-
请更正您的标题和缩进。
-
输出规范:显示球队名称和他们的积分属于联赛B。
-
然后精确定义您期望的输出、您得到的输出以及您认为可能存在的问题。让这个问题在未来可以使其他人受益,而不仅仅是您。这是问答,不是帮助台!
-
欢迎来到 Stack Overflow!听起来您可能需要学习如何使用调试器来逐步执行代码。使用好的调试器,您可以逐行执行您的程序,并查看它与您期望的偏差在哪里。如果您要进行任何编程,这是必不可少的工具。进一步阅读:How to debug small programs
-
scanf函数是邪恶的。更喜欢使用cin,或者如果必须使用fscanf(stdin。
标签: c++