2017-02-27 56 views
0

我无法一次创建一个C程序来扫描多个单词。我正在制定一个计划来阅读运动队的名字,他们的胜负数以及他们的损失类型。总共有22支队伍,每个队名可以有1到3个字的名字,我想知道什么是我可以扫描我的数据以适应不同名称大小的最佳方式。 我的代码,我到目前为止有:使用多个单词扫描字符串

int main(void) { 

char name[25]; 
int win[25], losses[25], lossOT[25], lossSO[25], points[25]; 
int i, n, j, p, x, min; 

setvbuf(stdout, NULL, _IONBF, 0); 

printf("Enter team data:\n"); 

i=0; 
while(i<26){ 
    scanf("%s", name); 
    if(0==strcmp(name,"0"))break; //what it to break not with a space but when a number is read 

    scanf("%d %d %d %d",win[i], losses[i], lossOT[i], lossSO[i]); 
    i++; 
} 

样品输入:

Team:    W L LOT LSO 
Durham United  5 2 1 0 
Kingston Clippers 6 3 3 1 
London    9 2 1 4 
Ottawa Fury Academy 5 3 1 6 

回答

1

第一件事,第一,while(i<26)off-by-one为您的数组大小,使用i < 25留的范围内。

然后,您可以使用fgets()将一定数量的数据读入缓冲区,由换行符分隔,该换行符也存储在缓冲区中。