C语言程序设计:给出年、月、日,计算该日是该年的第几天。

 我来答
yunxian_19
推荐于2016-09-08 · TA获得超过317个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:184万
展开全部

#include "stdio.h


int main () {

  int year;

  int month;

  int day;


  scanf("%d %d %d", &year, &month, &day);

  if(year < 1 || (month < 1 || month > 12) || (day < 1 || day > 31))return -1;


  int daynum[12] = {

    31, 28, 31,30 ,31, 30, 31, 31, 30, 31, 30, 31

  };


  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

    daynum[1] = 29;

  }


  int dayth = 0;

  for (int i = 0; i < month - 1; ++i) {

    dayth += daynum[i];

  }

  dayth += day;

  printf("the day is:%d\n", dayth);

  return 0;

}

吾好梦中殺猪
2013-05-23 · TA获得超过335个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:320万
展开全部
#include <stdio.h>
int day_of_year(int year,int month, int day)
{
int monthDays[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int i;
for(i=0;i<month;i++)
day+=monthDays[i];
if(year%4==0&&year%100!=0||year%400==0)
{
if (month >2)
day+=1;
}
return day;
}
int main()
{
int day;
day=day_of_year(2013,5,23);
printf("%d\n",day);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
N_0_1
高粉答主

2015-06-08 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:787万
展开全部
任意输入a年b月c日,天数用n表示
b<2,n=31+c(最多)
b>3,要判断a年是否为闰年,if(a/400==0||(a/4==0&&a/100!=0))就是闰年
n=31+....
追问
有程序语言吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b3f293a30
2012-06-10 · TA获得超过326个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:175万
展开全部
#include<stdio.h>
int main()
{
int n,y,r,t,i;
int a[12];
a[1]=31; a[2]=28; a[3]=31;
a[4]=30; a[5]=31; a[6]=30;
a[7]=31; a[8]=31; a[9]=30;
a[10]=31;a[11]=30;a[12]=31;
while (scanf("%d %d %d",&n,&y,&r)!=EOF)
{
t=0;
if((n%4==0 && n%100!=0)||(n%400==0)) a[2]=29; else a[2]=28;
for (i=1;i<y;i++)
t+=a[i];
t+=r;
printf("%d\n",t);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溪边柳鱼水悠悠
2012-06-10 · TA获得超过143个赞
知道答主
回答量:49
采纳率:100%
帮助的人:38万
展开全部
#include<stdio.h>
struct
{
int year;
int month;
int day;
}date;
void main()
{
int i,days=0;
int day_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("input year,mont,day:\n');
scanf("%d,%d,%d",&date.year,&date.month,&date.day);
for(i=0;i<date.month;i++)
days=days+day_month[i];
days=days+date.day;
printf("%d年%d月%d日是该年的第%d天",date.year,date.month,date.day,days);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式