| ||||||||||
| 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 | |||||||||
为啥总是runtime error啊 请教大牛~~RT 代码如下,临平膜拜~
#include <stdio.h>
int bucketsort(char s[100][3], int n)
{
int i;
int count[26] = {0};
int next[26] = {0};
int index =0;
int first = 1;
if(n == 1)
first = 0;
int secondindex = s[first][0] - 97;
char tmp[100][3] = {0};
for(i =0;i<n;i++)
{
index = s[i][0] - 97;
count[index]++;
tmp[i][0] = s[i][0];
tmp[i][1] = s[i][1];
tmp[i][2] = s[i][2];
}
for(i=1;i<26;i++)
next[i] = count[i-1]+next[i-1];
first = next[secondindex]+1;
for(i =0;i<n;i++)
{
index = tmp[i][0] - 97;
s[next[index]][0] = tmp[i][0];
s[next[index]][1] = tmp[i][1];
s[next[index]][2] = tmp[i][2];
next[index]++;
}
return first;
}
int main()
{
int n;
int i,j;
char ft[100][3] = {0};
char S[100];
char S1[100];
char C = ' ';
char tmp = ' ';
char lastc = ' ' ;
int first;
scanf("%c",&C);
if(C == 'A')
{
scanf("%d",&n);
scanf("%s",&S);
for(i=0;i<n;i++)
{
ft[i][0] = S[0];
ft[i][1] = S[n-1];
for(j=0;j<n-1;j++)
S[j] = S[j+1];
S[n-1] = ft[i][0];
}
first = bucketsort(ft,n);
for(i=0;i<n;i++)
{
S1[i] = ft[i][1];
}
S1[n]='\0';
printf("%s\n",S1);
printf("%d\n",first);
}
else if(C =='B')
{
scanf("%d",&n);
scanf("%s",&S1);
scanf("%d",&first);
tmp = S1[first-1];
for(i=0;i<n;i++)
{
S[i] = S1[i];
ft[i][0] = S1[i];
ft[i][1] = S1[i];
}
S[n] = '\0';
bucketsort(ft,n);
for(i=0;i<n;i++)
{
ft[i][1] = S1[i];
ft[i][2] = '0';
}
for(i=0;i<n;i++)
{
if(ft[i][0] == tmp)
{
first = i;
break;
}
}
lastc = ft[first][1];
ft[first][2] = '1';
S[n-1] = ft[first][1];
for(i=1;i<n;i++)
for(j=n-1;j>=0;j--)
if(ft[j][0] == lastc && ft[j][2] == '0')
{
lastc = ft[j][1];
ft[j][2] = '1';
S[n-1-i] = ft[j][1];
break;
}
printf("%s\n",S);
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator