用C语言怎么编写一个统计名字次数的程序?急!急!急!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/09 08:29:55
怎样编写一个C语言程序统计下列名字出现的次数?
John
Tom
Jerry
Coco
John
Danny
Coco
Jerry
Danny
Jerry

代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main ()
{
struct person /*定义一个结构体*/
{
char name[20]; /*默认名字不超过20长度,且没有空格。*/
int time; /*出现次数*/
};
struct person data[200]; /*默认不超过200个不同名*/

int i;
for (i = 0; i < 200; i ++) /*初始化一下*/
{
data[i].name[0] = 0;
data[i].time = 0;
}

char temp[20];
int total = 0; /*一开始一共有0个人*/
while (scanf ("%s", temp) != EOF) /*循环读入所有姓名*/
{
int i = 0;
for (i = 0; i < total; i ++) /*和已经存在的姓名对比,看是否一样*/
{
if (strcmp (temp, data[i].name) == 0) /*如果一样*/
{
data[i].time ++;
break;
}
}
if (i == tot