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

实在想不出来了,不知道为什么总WA,一道字符串判别的题LINGO,还望高手指教,谢谢!

Posted by testdirk at 2007-02-10 18:53:39 on Problem 1219
源程序如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
	char data[1000][10],temp[10],word[10];
	char result[10];
	int l,i,j,k,s,t,m,n,total,inTurn,getResult,wordwhetherUsed[5],tempwhetherUsed[5],right,upper,spaceBefore;
	gets(temp);
	total=0;
	inTurn=0;
	getResult=0;
	spaceBefore=1;
	while (strcmp(temp,"LINGO")!=0)
	{
		if (strcmp(temp,"")==0) {
			if (inTurn<6 && getResult==0 && spaceBefore==0) 
			{
				for (i=0;i<=4;i++) printf("%c",word[i]+32); //  When used in the contestant gives up.
				printf("\n");
			}
			printf("\n");
			total++;
			inTurn=0;
			getResult=0;
			spaceBefore=1;
		}
		else
		{
			spaceBefore=0;
			inTurn++;
			if (inTurn==6 && strcmp(temp,word)!=0) {
				for (i=0;i<=4;i++) printf("%c",word[i]+32);
				printf("\n");
				while (strcmp(temp,"")!=0 && strcmp(temp,"LINGO")!=0)
				{
					gets(temp);
				}
				continue;
			}
			l=strlen(temp);
			if (inTurn==1) {
				strcpy(word,temp);
				printf("%c....\n",word[0]);
				result[0]=word[0];
				for (i=1;i<=4;i++) result[i]='.';
				gets(temp);
				continue;
			}
			//----------judge whether input data is invalid
			upper=0;
			if (l==5) {
				for (i=0;i<=4;i++) if (temp[i]>='A' && temp[i]<='Z') upper++;
			}
			if (l!=5 || upper!=5) {
				for (i=0;i<=4;i++) printf("%c",result[i]);
				printf("\n");
			}
			else 
			{
				for (i=0;i<=4;i++) {
					wordwhetherUsed[i]=0;
					tempwhetherUsed[i]=0;
				}
				right=0;
				for (i=0;i<=4;i++)
					if (word[i]==temp[i]) {
						result[i]=word[i];
						wordwhetherUsed[i]=1;
						tempwhetherUsed[i]=1;
						right++;
					}
				if (right==5) {
					for (i=0;i<=4;i++)
						printf("%c",word[i]);
					printf("\n");
					getResult=1;
					while (strcmp(temp,"")!=0 && strcmp(temp,"LINGO")!=0)
					{
										gets(temp);
					}
				}
				else
				{
					for (i=0;i<=4;i++)
						if (wordwhetherUsed[i]==0)
						{
							for (j=0;j<=4;j++)
								if (tempwhetherUsed[j]==0 && word[i]==temp[j])
								{
									wordwhetherUsed[i]=1;
									tempwhetherUsed[j]=1;	
									result[j]=word[i]+32;
								}
						}
					for (i=0;i<=4;i++)
						if (tempwhetherUsed[i]==0)
							result[i]='.';
					for (i=0;i<=4;i++)
						printf("%c",result[i]);
					printf("\n");
				}
			}
		}
		if (getResult==0) gets(temp);
	}
}

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