UVA 10420 - List of Conquests

继续跟着白书做,这道题是要找每个国家的人的数量,然后按国家的字典序输出,很水的

一道题,但是因为少了个getchar()浪费了不少时间。

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

char ct[2005][80], s[80];
int cmp( const void *_p, const void *_q)
{
char *p = (char *)_p;
char *q = (char *)_q;
return strcmp( p, q);
}

int main()
{
int N;
scanf( "%d", &N);
getchar(); //必不可少
for( int i = 0; i < N; i ++)
{
gets(s);
sscanf( s, "%s", ct[i]);
}

qsort( ct, N, sizeof(ct[0]), cmp);
int cnt = 0;
for( int i = 0; i < N - 1 ; i ++)
{
cnt ++;
if( strcmp( ct[i+1], ct[i]) ){
printf( "%s %d\n", ct[i], cnt);
cnt = 0;
}
}
printf( "%s %d\n", ct[N-1], cnt+1);
return 0;
}

 

你可能感兴趣的:(list)