题目:从键盘上输入N个字符串.长度<10,判断在这输入的N个字符串中有相同字符串的个数.并输出不相同的字符串和出相同的次数
如:输入 asdf fdsa asdf xxxx asdf xxxx这样6个字符串
应该输出的是
asdf 3次
fdsa 1次
xxxx 2次
这样写了确得不到要的结果不知道错在哪里
#include "stdio.h"
#define NUM 5
struct student
{
char name[10];
int count;
};
struct student pu[NUM];
int dd(char x[], int y)
{
int i;
for(i=0;i<NUM;i++)
if(strcmp(pu[i].name,x)==0)
{
pu[i].count=pu[i].count+y;
}
else
{
strcpy(pu[i].name,x);
pu[i].count=y;
}
}
main()
{
int i,count;
char name[10];
for(i=0;i<NUM;i++)
{ printf("\nthe %d data:\n",i+1);
printf("please inter name:");
scanf("%s",name);
printf("please inter count:");
scanf("%d",count);
dd(name,count);
}
printf("\n");
for(i=0;i<NUM;i++)
printf("the %d :%s-->%d\n",i,pu[i].name,pu[i].count);
}
[此贴子已经被作者于2007-5-17 18:05:39编辑过]