您的位置:首页 > 其它

UVa 10815 - Andy's First Dictionary

2011-10-07 13:54 381 查看
题目大意:读入字符串,并把里面单词按字典序输出。

我的程序问题百出,在网上看到个比较好的代码,写的很棒。

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

char d[1000010][210] = {'\0'};
int n = 0, len = 0;

int cmp_string(const void *_a, const void *_b)
{
	char *a = (char *) _a;
	char *b = (char *) _b;
	return strcmp(a, b);
}

int main()
{	
	char ch;
	while(1)
	{
		if((ch = getchar()) == EOF)
			break;
		if(isalpha(ch))
			d
[len++] = tolower(ch);
		else if(isalpha(d
[0]))			
		{
			d[n++][len] = '\0';
			len = 0;
		}
	}
	qsort(d, n, sizeof(d[0]), cmp_string);
	int i;
	for(i = 0; i < n; i++)
		if(strcmp(d[i], d[i + 1]))
			printf("%s\n", d[i]);
	return 0;
}


不要闭门造车,要多研究研究别人优秀的代码,这样学习的效果才会好。

做题也不能只讲究量,要讲究质。或者要深入
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: