永发信息网

从键盘输入一个日期(year-month-day),计算并输出该日期是该年的第几天。请按以下给定的函数原型编程:

答案:3  悬赏:20  手机版
解决时间 2021-03-31 04:12
  • 提问者网友:萌卜娃娃
  • 2021-03-30 06:52
从键盘输入一个日期(year-month-day),计算并输出该日期是该年的第几天。请按以下给定的函数原型编程:
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-03-30 08:14
#include
int count(int a[12],int b[12],int year,int mounth,int day)//定义一个count函数,用来计算是哪一天,a[12],b[12],year,day,day 分别是形参
{
代码写的有点长,不好意思,如有问题,请补充,谢谢
int i,sum=0;
if(year%4==0&&year%100!=0||year%400==0)//判断是否是闰年,是就作如下语句
for(i=0;i {
sum+=a[i];
}
else
for(i=0;i {
sum+=b[i];
}
sum+=day;
return(sum);
}
void main()
{
int year,mounth,day,m;
int a[12]={31,29,31,30,31,30,31,31,30,31,30,31},b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
//a数组是定义的闰年每月份的天数,b数组是定义的非闰年每月份的天数
printf("请输入年year,月mounth,日day\n");
scanf("%d,%d,%d",&year,&mounth,&day);
m=count(a,b,year,mounth,day);
printf("%d\n",m);
}
全部回答
  • 1楼网友:摆渡翁
  • 2021-03-30 09:43
原型在哪里?
需要考虑闰年唷。。
  • 2楼网友:山河有幸埋战骨
  • 2021-03-30 08:39
#include
void main()
{
int a,b,c,i;
printf("enter date \n");
scanf("%d,%d,%d",&a,&b,&c);
if(b<3)
i=(b-1)*31+c;
else if(b<8)
{
if(b%2==0)

i=b/2*31+(b/2-1)*30+c-2;

else i=(b-1)/2*61+c-2;
}
else
if(b%2==0)

i=214+(b-8)/2*61+c-2;
else i=214+(b-7)/2*31+((b-7)/2-1)*30+c-2;
printf("i=%d",i);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯