5 - 单词计数
时间限制 1000 毫秒
内存限制 32768 K字节
问题描述
输入一些单词,统计各个单词出现的次数。
输入
输入有很多行,行数<10000。每行一个单词,单词由英文字母构成,不包含其他字符。单词的长度<30个字符。
输出
输出包含多行。每行包括一个单词和这个单词在输入中出现的次数,两者之间用一个空格隔开。这些行按照单词字符串从小到大的顺序排序。
输入样例
red
blue
blue
red
orange
black
blue
输出样例
black 1
blue 3
orange 1
red 2
希望代码写得时候加上一些解释
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int get_word(char array[][32]) /* 输入单词 */
{
int i=0;
printf("Enter a word:");
scanf("%s",array[i]);
while(strcmp(array[i],"#")!=0) /* 输入单词#号结束 */
{
i++;
printf("Enter a word:");
scanf("%s",array[i]);
}
return 0;
}
int count_word(char array[][32],int i) /* 统计个数 */
{
int j=0;
int count=0;
while(strcmp(array[j],"#")!=0)
{
if(strcmp(array[j],array[i])==0&&j<i)
break;
else
if(strcmp(array[j],array[i])==0)
count++;
j++;
}
if(count)
printf("%s %d\n",array[i],count);
return 0;
}
int main()
{
char array[1000][32];
int i=0;
get_word(array);
while(strcmp(array[i],"#")!=0)
{
count_word(array,i);
i++;
}
return 0;
}
----------------解决方案--------------------------------------------------------
B树
by 雨中飞燕 QQ:78803110 C/C++讨论群:5305909
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
----------------解决方案--------------------------------------------------------