UVA 10815-Andy’s First Dictionary
题目大意:输入几条句子,找出单词,并以字典序排序
解题思路:用qsort()排序
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int cmp(const void *a,const void *b) {
return strcmp((char*)a, (char*)b);
}
int main() {
char a[100000][100];
char b;
int i = 0, j = 0;
while((b=getchar()) != EOF) {
if(b >= 'A' && b <= 'Z') {
a[i][j] = b + 32;
j++;
}
else if(b >= 'a' && b <= 'z'){
a[i][j] = b;
j++;
}
else {
if(j != 0) {
a[i][j] = '\0';
i++;
j = 0;
}
}
}
qsort(a, i, sizeof(a[0]), cmp);
for(int m = 0; m < i; m++) {
if(m == 0 || (strcmp(a[m-1], a[m]) != 0))
puts(a[m]);
}
return 0;
}

本文介绍了解决UVA10815问题的方法,该问题要求从输入的句子中提取单词并按字典序进行排序。通过使用C语言实现,包括字符串处理和快速排序算法。
125

被折叠的 条评论
为什么被折叠?



