题目链接:http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=397#problem/G

主要是运用快速排序的方法,套了下模板,代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define len 5001
#define le 201
char s[len*200][le];
int cmp(const void *a,const void *b)//和qsort函数配套使用,不同数据有不同变形
{
return strcmp((char *)a,(char *)b);
}
int main(void)
{
int i=0,j=0;
char word;
while((word=getchar())!=EOF)//输入数据
{
 if(isalpha(word)){
  s[i][j]=tolower(word);
  j++;
 }
 if(!isalpha(word)&&isalpha(s[i][0]))
 {
  s[i][j]=”;
  i++;
  j=0;
 }
}
qsort(s,i,sizeof(s[0]),cmp);//快速排序例程(详见百度百科)
puts(s[0]);
for(j=1;j<i;j++)
if(strcmp(s[j-1],s[j]))
puts(s[j]);
return 0;
}

发表评论

电子邮件地址不会被公开。

Post Navigation