您的位置:首页 > 其它

POJ 1007

2010-11-12 21:19 148 查看
/*
T>G>C>A
CCCGGGGGGA 9
AACATGAAGG 3+5+2=10
GATCAGATTT 4+4+2+1=11
ATCGATGCAT 6+2+2+3+2+1=16
TTTTGGCCAA 24+8+4=36
TTTGGCCAAA 21+10+6=37
*/

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

struct sortNum
{
char str[51];
int count;
};

struct sortNum t[101];

int cmp(const void *a, const void *b)
{
return (*(struct sortNum *)a).count  - (*(struct sortNum *)b).count;
}

int main()
{
int i, j, k;
int nLength, mStringNum;
int len;

while (2==scanf("%d %d", &nLength, &mStringNum))
{
for(i=0; i<mStringNum; i++)
{
scanf(" %s", t[i].str);
t[i].count=0;
len=strlen(t[i].str);
for(j=0; j<len-1; j++)
for(k=j+1; k<len; k++)
if(t[i].str[j]>t[i].str[k])
t[i].count ++;
}
//	printf("/n");
qsort(t, mStringNum, sizeof(t[0]), cmp);

for(i=0; i<mStringNum; i++)
printf("%s/n", t[i].str);
}

return 0;
}


 

学习点 qsort对一级结构体排序
Struct IN
{
       Double data;
       Int other;
}s[100];
 
Int cmp(const void *a, const void *b)
{
       Return (*(struct IN *)a).data-(*(struct IN *)a).data;
}
Qsort(s, 100, sizeof(s[0], cmp));
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struct