| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:为什么一直WA。。。。In Reply To:为什么一直WA。。。。 Posted by:holmes93 at 2012-01-21 11:08:59 自己解决了~一个是数组开反了==~另一个是不能用字符串最后一个存逆序数~否则超过255会出bug
附上代码~0ms~
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
int len,n,i,j,k,count[100]={0},tem;
char s[100][52];
char *p[100],*temp;
/*输入并计算逆序*/
scanf ("%d%d",&len,&n);
getchar();
for (i=0;i<n;i++)
{
gets(s[i]);
p[i]=s[i];
for (j=0;j<len-1;j++)
{
for (k=j+1;k<len;k++)
if (s[i][j]>s[i][k])
count[i]++;
}
}
/*逆序数排序*/
for (i=1;i<n;i++)
for (j=0;j<n-i;j++)
{
if (count[j]>count[j+1])
{
tem=count[j];
count[j]=count[j+1];
count[j+1]=tem;
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
/*输出*/
for (i=0;i<n;i++)
puts(p[i]);
system("PAUSE");
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator