C语言中输入年月日,判断这一天是一年的第几天…… C语言编程:输入某年某月某日,判断这一天是这一年的第几天?

作者&投稿:招米 (若有异议请与网页底部的电邮联系)

1#include<stdio.h>

2#include<stdlib.h>

3/*题目:输入某年某月某日,判断这一天是这一年的第几天*/

4intmain(){

5system("color1F");//设定显示框为蓝底白字

6system("modeconcols=80lines=30");//固定显示框尺寸

7/

8intdays[11];

9intyear,moon,day,i,t1,t2;

10while(1){

11loop:

12printf("请输入年份:");

13scanf("%d",&year);

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

15days[1]=29;

16elsedays[1]=28;//判断是否闰年

17printf("请输入月份:");

18scanf("%d",&moon);

19printf("请输入日期:");

20scanf("%d",&day);

21if(moon>12||day>31||moon==2&&day>days[1]||moon==4&&day>30||moon==6&&day>30||moon==9&&day>30||moon==11&&day>30)

22{

23printf("输入错误,请重新输入
");

24gotoloop;//输入数据错误检查

25}

26days[0]=31;

27days[2]=31;

28days[3]=30;

29days[4]=31;

30days[5]=30;

31days[6]=31;

32days[7]=31;

33days[8]=30;

34days[9]=31;

35days[10]=30;

36t1=0;

37for(i=0;i<moon-1;i++)

38t1=t1+days[i];

39t2=t1+day;

40printf("%d年%d月%d日是这一年的第【%d】天
-----------------------------------------------------------------------------
",year,moon,day,t2);

41}

42

43/

44return0;

45}

扩展资料

Python语言输入某年某月某日,判断这一天是这一年的第几天

year=int(input('year:
'))

month=int(input('month:
'))

day=int(input('day:
'))

s=0

months=[0,31,59,90,120,151,181,212,243,273,304,334]

if0<=month<=12:

s=months[month-1]

else:

print('dataerror')

s+=day

leap=0

if(year%400==0)or((year%4==0)and(year%100!=0)):

leap=1

if(leap==1)and(month>2):

s+=1

print('itisthe%dthday.'%s)



以2月10日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

源代码:

#include "stdio.h"

#include "stdlib.h"

int main()
{
int day,month,year,sum,leap;

printf("
please input year,month,day
");

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

switch(month) /*先计算某月以前月份的总天数*/
{
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("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);
return 0;
}

输出

please input year,month,day

2019,02,10

It is the 41th day.

扩展资料

c语言编写程序根据输入的时间分别输出问候语

#include <stdio.h>
int main()
{
int a;
printf("请输入时间,例如:17");

scanf("%d",&a);

if(a<=12&&a>=0) printf("早");

else if(a>12&&a<=14) printf("午");

else printf("晚");

printf("%d",s);

return 0;



#include<stdio.h>
int main()
{
int day,month,year,sum=0,leap;
printf("输入年月日如2019 7 12\n");
scanf("%d %d %d",&year,&month,&day);
switch(month)
{
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("data error");break;
}
sum=sum+day;
if((year%400==0||(year%4==0&&year%100!=0))&&month>2)
sum++;
printf("这是这一年的第%d天。",sum);
return 0;
}
方法2
#include<stdio.h>
int day_of_year(int (*p)[13],int year,int month,int day)
{
int i,leap;
leap=(year%100!=0 && year%4 ==0||year%400 ==0);
for(i=1;i<month;i++)
day+=*(*(p+leap)+i);
return day;
}
main()
{
static int day_tab[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d\n",day_of_year(day_tab,a,b,c));
}

不能根据当月天数进行累计,只能根据上个月天数累加,因此可从当月开始减1,计算上月天数,再减1计算上上个月天数,一直减到0为止。

#include<iostream>
using namespace std;
int main()
{
int y, m, d, x, i;
cout << "请输入年,月,日" << endl;
cin >> y >> m >> d;
x = 0;
i = m;
while (i!=0)//从当月开始减1直到等于0循环停止
{
switch (i-1)//当月的天数是d,上个月的天数才是30或31,应根据上个月天数分支
{
case 1:case 3:case 5: case 7: case 8: case 10: case 12: x+=31;break;
case 4:case 6: case 9: case 11: x+=30;break;
case 2:x=((y%4==0 && y%100 != 0) || (y%400==0))?(x+29):(x+28);break;
case 0:x+=d;break;//上月减1是0,表示已经减到了当月,直接加上d即可,注意不能x=d
}
i-- ;
}
cout << "为这一年的第" << x << "天" << endl;
return 0;
}



c语言程序,输入年月日,判断这一天是这一年的第几天,同时判断这一天是星期几。(用switch语句)~

cat ex1.c/* 程序分析:以3月5日为例,应该先把前两个月的加起来, 然后再加上5天即本年的第几天,特殊情况,闰年且输入 月份大于3时需考虑多加一天。*/#includeint main(){ int day, month, year, sum, leap; printf("
please input year,month,day
"); scanf("%d%d%d",&year,&month,&day); switch(month){ //先计算某月以前月份的总天数 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("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,总数加1天 sum++; } printf("It is the %dth day.
",sum);}./explease input year,month,day2019 3 21It is the 80th day.

用C语言编写:输入某年某月某日,判断这一天是这一年的第几天?
答:main(){ int n,year,month,day,month_day_sum=0,sum,month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf("please input the \"year month day\"\n");scanf("%d%d%d",&year,&month,&day);if(year%100!=0&&year%4==0||year%400) month_day[2]=29;if(day>...

用C语言写一个函数,给出年月日,计算该日是该年的第几天 用#include<ios...
答:=0)) return 1; else return 0;}int main(){ int year,month,day; int dayCount=0,i; int mon[]={31,28,31,30,31,30,31,31,30,31,30,31}; cout<<"请输入当前的年,月,日: ";cin>>year>>month>>day; for(i=0;i<month-1;i++) dayCount+=mo...

c语言编程:输入某年某月某日,计算出这一天是该年的第几天?该怎么解答啊...
答://输入年月日,输出是该年第几天 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)||(...

输入某年某月某日,判断这一天是这一年的第几天?用C#语言 C语言运行不...
答:int iyear = int.Parse(year); Console.Write("输入月份:"); string month = Console.ReadLine(); int imonth = int.Parse(month); Console.Write("输入日期:"); string day = Console.ReadLine(); int iday = int.Parse(day); int day_in_year = 0; for ...

C语言程序,输入年月日算出当天星期几
答:include <stdio.h> int main(){ int day,mn,yr,i,days=0,s,k;int mont[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};char wek[][9]={ {'S','u','n','d','a','y'},{'M','o','n','d','a','y'},{'T','u','e','s','d','a','y'},{'W','...

c语言编程:输入年月日,求出该天是该年的第几天
答:include<stdio.h> intmain(){intday,month,year,sum,leap;printf("\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n");scanf("%d%d%d",&year,&month,&day);//格式为:20190510 switch(month)//先计算某月以前月份的总天数 {case1:sum=0;break;case2:sum=31;break;case3:sum=59;...

C语言编程:输入某年某月某日,判断这一天是这一年的第几天?
答:{ int i, days = 0;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日是这一年的...

C语言编程(程序怎样编写):给定年、月、日,计算该日是该年的第几天,然 ...
答:/**程序描述:给定年、月、日,计算该日是该年的第几天,然后计算该日是星期几。*/#include <stdio.h>int mon[]={31,28,31,30,31,30,31,31,30,31,30,31};int leap_year(int n){ if(n%400==0||(n%4==0 && n%100!=0)) return 1; else return 0;}int cal...

编辑一个C语言程序:输入任意年月日,判断该天是这一年的第几天。_百度...
答:printf("---输入年,月,日:");while (scanf("%d,%d,%d", &y, &m, &d)==3) { printf("答: %d年%d月%d日是第%d天.\n\n---输入年,月,日:", y, m, d, Ymd2Days(y,m,d));} return 0;} 年月日数字用逗号隔开. 想结束的时候输入一个0就可以了. 例如:---输入年,月,...

用vb语言编写"给出年月日,计算它是一年中的第几天"
答:- (y Mod 4 = 0 And y Mod 100 > 0 Or y Mod 400 = 0) And (m > 2)Text4.Text = m & "月" & d & "日是" & y & "年的第 " & d1 & " 天"End Sub Private Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""End Sub ...