http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=1160

题意是要我们对给定的DNA序列算出其值并降序排列,对其值用结构体储存,排序时会比较方便

#include<stdio.h>
#include<stdlib.h>
struct s{
    char a[51];
    int c;
}dna[100];
int cmp(const void *a,const void *b){
    return (*(s *)a).c-(*(s *)b).c;
}
int main(){
    int n,m,i,j;
    scanf("%d%d\n",&n,&m);
    for(i=0;i<m;i++){
        gets(dna[i].a);
    }
    int k;
    for(i=0;i<m;i++){
        dna[i].c=0;
        for(k=0;k<n;k++)
            for(j=k;j<n;j++){
                if(dna[i].a[k]>dna[i].a[j]){
                    dna[i].c++;
                }
            }
    }
    qsort(dna,m,sizeof(dna[0]),cmp);
    for(i=0;i<m;i++)
        puts(dna[i].a);
    return 0;
}
  

发表评论

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

Post Navigation