用C语言编程 输入日期 输出这一天是该年的第几天

如题所述

我大概给个思路,代码是现写的
没调试
先定义每个月的天数,2月按28天算
输入年月日后,根据年判断是否闰年(闰年加1天),再从1月加到当月的前一月,再加上日期就可以了
#include
int
month[12]
=
{31,28,31,30,31,30,31,31,30,31,30,31};
main()
{
int
yy,mm,dd,
days;
int
i;
printf("input
year:");
scanf("%d",
&yy);
printf("input
month:");
scanf("%d",
&mm);
printf("input
day:");
scanf("%d",
&dd);
/*
如果大于2月,要做闰年的判断,忘了,不一定准
*/
if(
mm
>
2
&&
((year%4==0
&&
year%100!=0)
||
year%400==0)
)
days
=
1;
else
days
=
0;
/*
加上前面各整月的天数
*/
for(i
=
0;
i
<
mm-1;
i++)
days
+=
month[i];
/*
加上日数
*/
days
+=
dd;
printf("this
is
the
%d
day
of
year
%d!!\n",
days,
yy);
}
比如输入
1999
2
1
应该输出:this
is
the
32
day
of
year
1999!!
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-03-20
#include<stdio.h>
void main()
{
int nian,yue,ri,leap,sum;
printf("\n 请输入年月日: \n");
scanf("%d%d%d",&nian,&yue,&ri);
switch(yue)
{
case 1:sum=0;
break;
case 2:sum=31;
break;
case 3:sum=59;
break;
case 4:sum=90;
break;
case 5:sum=120;
break;
case 6:sum=151;
break;
case 7:sum=181;
break;
case 8:sum=212;
break;
case 9:sum=243;
break;
case 10:sum=273;
break;
case 11:sum=304;
break;
case 12:sum=334;
break;
default:
printf("\n 数据错误 \n");
}
sum=sum+ri;
if((nian%400==0) ||(nian%4==0 && nian%100!=0 ))
leap=1;
else
leap=0;
if(leap==1 && nian>3)
sum++;
printf("\n 这一天是这一年的第 %d 天 \n",sum);
}本回答被提问者采纳
第2个回答  2008-04-28
#include "stdio.h"
struct
{int year;
int month;
int day;
}date;
void main()
{int i,days;
int _tab[0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("input year,month,day:");
scanf("%d,%d,%d",&date.year,&date.month,&date.day);
days=0;
for(i=1;i<date.month;i++)
days=days+da_tab[i];
days=days+date.day;
if((date.year%4==0&&date.year%100==0||date.year%400==0)&&date.month>=3)
days+=1
printf("%d/%d is the %dth day in %d.\n"date.month,date.day,days,date.year);
}

C语言编程:输入某年某月某日判断这一天是一年的第几天的程序是是什么...
\\n");\\x0d\\x0areturn 0;\\x0d\\x0a}\\x0d\\x0aif (isRunnian(year) && month >2){\\x0d\\x0aprintf("输入日期是对应年份的第%d天",days+1);\\x0d\\x0a}else{\\x0d\\x0aprintf("输入日期是对应年份的第%d天",days);\\x0d\\x0a}\\x0d\\x0areturn 0;\\x0d\\x0a}\\x0d\\x...

...输入某年某月某日,计算出这一天是该年的第几天?该怎么解答啊_百度...
\/\/输入年月日,输出是该年第几天 include<stdio.h> int sum(int month,int day){ int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int i;for(i=1;i<month;i++)day+=days[i];return(day);} int leap(year){ int leap=0;if((year%4==0&&year%100!=0)||(yea...

C语言编程:输入某年某月某日,判断这一天是这一年的第几天?
{ int c;if(flag=='r'){\/\/闰年 if(m==2){\/\/2月是29天 return(31+d);}else if(m>2){ c=0;m=m-1;for(;m>0;m--){ if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ c+=31;}else if(m==2){ c+=29;}else{ c+=30;} } return c+d;}else{ ...

C语言编写程序实现:从键盘输入一个年月日,要求出该天是该年的第几天...
sum=sum+1;printf("这一天是 %d 年 第 %d 天\\n",year,sum);}

C语言编程:输入某年某月某日判断这一天是一年的第几天的程序是是什么...
printf("输入日期是对应年份的第%d天",days+1);}else{ printf("输入日期是对应年份的第%d天",days);} return 0;} \/\/循环实现 int getDays(int month,int day){ int NUMBER[12]={31,28,31,30,31,30,31,31,30,31,30,31};int result=day;if (month >12){ \/\/避免出现数组越界情况 ...

c语言输入一个年月日,要求输出这一天是该年的第几天
第1个:i<=12 第2个:break;第3个:d=30;break;第4个: (year%4!=0) || (year%100==0&&year%400!=0)第5个:days

C语言编程:输入某年某月某日,判断这一天是这一年的第几天?
include <stdio.h> int getDaysByMonth(int m,int d,char flag){ int c;if(flag=='r'){\/\/闰年 if(m==2){\/\/2月是29天 return (31+d);}else if(m>2){ c=0;m=m-1;for(;m>0;m--){ if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ c+=31;}else ...

C语言中输入年月日,判断这一天是一年的第几天……
3\/*题目:输入某年某月某日,判断这一天是这一年的第几天*\/ 4intmain(){ 5system("color1F");\/\/设定显示框为蓝底白字 6system("modeconcols=80lines=30");\/\/固定显示框尺寸 7\/ 8intdays[11];9intyear,moon,day,i,t1,t2;10while(1){ 11loop:12printf("请输入年份:");13scanf("%d...

C语言编程:输入某年某月某日,判断这一天是这一年的第几天?
int year, month, day;int day_tab[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};printf("输入年、月、日,用空格隔开:");scanf("%d%d%d", &year, &month, &day);for (i=1; i =3)days+=1;printf("%d年%d月%d日是这一年的第%d天!\\n", year, ...

“输入某年某月某日,判断这一天是这一年的第几天”用c语言怎样编程
printf("data error");break;} sum=sum+day;\/*再加上某天的天数*\/ if(year%400==0||(year%4==0&&year%100!=0))\/*判断是不是闰年*\/ leap=1;else leap=0;if(leap==1&&month>2)\/*如果是闰年且月份大于2,总天数应该加一天*\/ sum++;printf("It is the dth day.",sum);} ...

相似回答