c语言输入年份和天数,输出月份和日期,如何写啊,各为大侠帮帮忙吧,thanks,急!!

如题所述

第1个回答  2011-05-05
#include<stdio.h>
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int numble(int year,int m,int d)
{
int sum=0,i,j,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
if(leap(year)==1)
for(i=0;i<m-1;i++)
sum+=b[i];
else
for(i=0;i<m-1;i++)
sum+=a[i];
for(j=2000;j<year;j++)
if(leap(j)==1)
sum+=366;
else
sum+=365;
sum+=d;
return sum;
}
void main()
{
int year,month,day,n;
printf("pleass input year,month,day\n");
scanf("%d%d%d",&year,&month,&day);
n=numble(year,month,day);
if((n%5)<4&&(n%5)>0)
printf("%d%d%d is fishing\n",year,month,day);
else
printf("%d%d%d is bask\n",year,month,day);
}
/*这个是渔夫三天打鱼,两天晒网的问题。你的问题和这个差不多。你先看看能不能给你提示解决你的问题。不能的话我在把它改改。*/追问

你好,上面的看起来有点复杂,不好意思,忘了,题目具体是输入年份和天数,输出对应的年,月,日。如:输入2000和61,输出2000-3-1,即2000年的第61天是3月1日。要求是实现函数void month_day(int year,int yearday,int *pmonth,int*pday) /*其中year是年,yearday是天数,*pmonth和*pday是计算出的月和日*/ 要求同时给出主函数main函数的实现

追答

#include
int m,d;
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}

void numble(int year,int num)
{
int sum=0,i,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
if(leap(year)==1)
for(i=0;ia[i+1])
{
m=i+1;
d=sum;
}
}
else
for(i=0;ia[i+1])
{
m=i+1;
d=sum;
}
}
}

void main()
{
int year,num;
printf("pleass input year,num\n");
scanf("%d%d",&year,&num);
numble(year,num);
printf("the is %d %d %d",year,m,d);
}
这个程序可以了

本回答被提问者采纳
相似回答