| ||||||||||
| 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 ,谁能给一组是我程序出错的数据啊?> #include <stdio.h>
> #include <string.h>
> #include <stdlib.h>
> #define YEAR_H 365
> #define MONTH_H 20
>
> #define YEAR_T 260
> #define DATE_T 20
> #define PERIOD_T 13
> typedef struct time
> {
> int days;
> char name_Month_H[10];
> int year_H,num_Date_H,num_Month_H;
>
> int year_T;
> int num_Date_T ;
> int num_Period_T ;
> char *name_Date_T;
> } time;
> time *head;
> void creat(time *list);
> void print(time *head,int count);
> int switch_Month_H(char name_Month_H[]);
> char *switch_Date_T(int num_Date_T);
> main()
> {
> int count,i;
> scanf("%d",&count);
> i = count;
> head = (time *)malloc(sizeof(count));
>
> while(i)
> {
> creat(head + i);
>
> i--;
> }
>
> printf("%d\n",count);
> print(head,count);
>
>
> }
> void creat(time *list)
> {
> scanf("%d. %s %d",&list->num_Date_H,list->name_Month_H,&list->year_H);
> list->num_Month_H = switch_Month_H(list->name_Month_H);
>
> list->days = list->year_H * YEAR_H + (list->num_Month_H - 1) * MONTH_H + list->num_Date_H + 1;
>
> list->year_T = list->days / YEAR_T;
> if(list->days % YEAR_T == 0)
> list->year_T--;
>
> list->num_Date_T = list->days % DATE_T;
> if(!list->num_Date_T)
> list->num_Date_T = DATE_T;
>
> list->num_Period_T = list->days % PERIOD_T;
> if(!list->num_Period_T)
> list->num_Period_T = PERIOD_T;
>
> list->name_Date_T = switch_Date_T(list->num_Date_T);
> return;
> }
> void print(time *head,int count)
> {
> int i = count;
> time *p;
> while(i)
> {
> p = head + i;
> printf("%d %s %d\n",p->num_Period_T,p->name_Date_T,p->year_T);
> i--;
> }
> return;
> }
> int switch_Month_H(char name_Month_H[])
> {
> int i;
> char *name[20] =
> {
> "pop","no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan","pax", "koyab", "cumhu", "uayet"
> };
> for(i = 0;i < 20;i++)
> {
> if(!strcmp(name_Month_H,name[i]))
> break;
>
> }
> return i+1;
> }
> char *switch_Date_T(int num_Date_T)
> {
> char *date[20] =
> {
> "imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"
> };
> return date[num_Date_T - 1];
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator