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呢?大家帮指点一下!

Posted by xiaoxiaodi at 2006-01-11 16:53:47 on Problem 1008
#include<stdio.h>
#include<string.h>
char haab[19][10]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};;
char tz[20][10]={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};
void f(int num1,char s1[10],int year1,int j1)
{
	int k=0,temp=0,flag=0,j=0;
	int sum=0;
	int num2,year2;
	char s2[10];
	for(j=0;j<10;j++) s2[j]=' ';//s2用于记录所要输出的月份
	sum=year1*365+(j1-1)*20+num1+1;//计算总的天数
	year2=sum/260;//输出的年数
    num2=sum%260;//num2标记一年中的num2几天
	k=0;
    temp=(num2)%20-1;//月数
	while(tz[temp][k]!=0)
	{
		s2[k]=tz[temp][k];
		k++;
	}
	num2=(num2+13)%13;//第num2天
	printf("%d ",num2);
	k=0;
	while(s2[k]!=' ')
	{
		printf("%c",s2[k]);
		k++;
	}
	printf(" %d\n",year2);
}
void main()
{
	
	int num,year,n,i=0,j=0,k=0,flag=0;
	char s[10];
	scanf("%d",&n);
    while(i<n)
	{
		scanf("%d.",&num);//输入要求的三个字段
		scanf("%s",s);
		scanf("%d",&year);
		if(year>=5000 || year<0) return;//年份的大小限制
        while(flag!=1)//月份中天数限制
		{
			while((haab[k][0]!=s[0]))
			{
				k++;    
			}
			while(haab[k][j]==s[j])
			{
				  j++;  
			}
			k++;
			if(haab[k-1][j]=='\0')  flag++;
			else continue;
		}
		if(k>19) return;//所输入的月份不存在,不在19个月份中
		if(k==19) 
		{
			if(num<0 || num>4) return;
		}
		else
		{
			if(num<0 || num>19) return;
		}
		f(num,s,year,k);
		i++;
	}
}

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