Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

哪位高手能教教我啊?

Posted by hzx621 at 2005-09-15 23:18:52 on Problem 1256
这道题提交了N遍了,都错误啊..
自己测试了其他数据,都错误啊!
好郁闷啊!!

#include"stdio.h"
#include"math.h"
#include"string.h"
void main()
{
	char str[14],str1[14],t,t1,t2,t3;
	int i,j,l,k,n,flag,q;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",&str);
		strcpy(str1,str);
		l=strlen(str);
		for(j=0;j<l;j++)
		{
			if(str[j]=='A') {str1[j]=1;continue;}
			if(str[j]=='a') {str1[j]=2;continue;}
			if(str[j]=='B') {str1[j]=3;continue;}
			if(str[j]=='b') {str1[j]=4;continue;}
			if(str[j]=='C') {str1[j]=5;continue;}
			if(str[j]=='c') {str1[j]=6;continue;}
			if(str[j]=='D') {str1[j]=7;continue;}
			if(str[j]=='d') {str1[j]=8;continue;}
			if(str[j]=='E') {str1[j]=9;continue;}
			if(str[j]=='e') {str1[j]=10;continue;}
			if(str[j]=='F') {str1[j]=11;continue;}
			if(str[j]=='f') {str1[j]=12;continue;}
			if(str[j]=='G') {str1[j]=13;continue;}
			if(str[j]=='g') {str1[j]=14;continue;}
			if(str[j]=='H') {str1[j]=15;continue;}
			if(str[j]=='h') {str1[j]=16;continue;}
			if(str[j]=='I') {str1[j]=17;continue;}
			if(str[j]=='i') {str1[j]=18;continue;}
			if(str[j]=='J') {str1[j]=19;continue;}
			if(str[j]=='j') {str1[j]=20;continue;}
			if(str[j]=='K') {str1[j]=21;continue;}
			if(str[j]=='k') {str1[j]=22;continue;}
			if(str[j]=='L') {str1[j]=23;continue;}
			if(str[j]=='l') {str1[j]=24;continue;}
			if(str[j]=='M') {str1[j]=25;continue;}
			if(str[j]=='m') {str1[j]=26;continue;}
			if(str[j]=='N') {str1[j]=27;continue;}
			if(str[j]=='n') {str1[j]=28;continue;}
			if(str[j]=='O') {str1[j]=29;continue;}
			if(str[j]=='o') {str1[j]=30;continue;}
			if(str[j]=='P') {str1[j]=31;continue;}
			if(str[j]=='p') {str1[j]=32;continue;}
			if(str[j]=='Q') {str1[j]=33;continue;}
			if(str[j]=='q') {str1[j]=34;continue;}
			if(str[j]=='R') {str1[j]=35;continue;}
			if(str[j]=='r') {str1[j]=36;continue;}
			if(str[j]=='S') {str1[j]=37;continue;}
			if(str[j]=='s') {str1[j]=38;continue;}
			if(str[j]=='T') {str1[j]=39;continue;}
			if(str[j]=='t') {str1[j]=40;continue;}
			if(str[j]=='U') {str1[j]=41;continue;}
			if(str[j]=='u') {str1[j]=42;continue;}
			if(str[j]=='V') {str1[j]=43;continue;}
			if(str[j]=='v') {str1[j]=44;continue;}
			if(str[j]=='W') {str1[j]=45;continue;}
			if(str[j]=='w') {str1[j]=46;continue;}
			if(str[j]=='X') {str1[j]=47;continue;}
			if(str[j]=='x') {str1[j]=48;continue;}
			if(str[j]=='Y') {str1[j]=49;continue;}
			if(str[j]=='y') {str1[j]=50;continue;}
			if(str[j]=='Z') {str1[j]=51;continue;}
			if(str[j]=='z') {str1[j]=52;continue;}
		}
		flag=0;
		for(j=0;j<l-1;j++)
		{
			for(k=j+1;k<l;k++)
			{
				if(str1[j]>str1[k])
				{ t=str[j];str[j]=str[k];str[k]=t;
				  t=str1[j];str1[j]=str1[k];str1[k]=t; }
			}
		}
		printf("%s\n",str);
		while(1)
		{
			for(j=0,flag=0;j<l-1;j++)
			{
				if(str1[j]>=str1[j+1])
					flag++;
			}
			if(flag==l-1)
			{
				break;
			}
			for(j=l-1;j>0;j--)
			{
				if(str1[j]>str1[j-1])
				{
					q=j-1;
					t=str[q];
					t2=str1[q];
					break;
				}
			}
			t1=str[q+1];
			t3=str1[q+1];
			if(q==l-2) { str[q]=t1;str[q+1]=t;str1[q]=t3;str1[q+1]=t2;}
			else
			{
			    for(j=q+1,str[q]=t1,str[q+1]=t,str1[q]=t3,str1[q+1]=t2;j<l;j++)
				{
			    	if(str1[j]>t2&&str1[j]<str1[q])
					{
				    	t1=str[j];
					    str[j]=str[q];
					    str[q]=t1;
						t2=str1[j];
					    str1[j]=str1[q];
					    str1[q]=t2;
					}
				}
			    for(j=q+1;j<l-1;j++)
				{
			    	for(k=j+1;k<l;k++)
					{
					    if(str1[k]<str1[j])
						{
					    	t=str[k];str[k]=str[j];str[j]=t;
							t=str1[k];str1[k]=str1[j];str1[j]=t;
						}
					}
				}
			}
			printf("%s\n",str);
		}
	}
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator