當前位置:首頁 » 編程語言 » c語言輸入日期判斷第幾天較簡便的方法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸入日期判斷第幾天較簡便的方法

發布時間: 2022-12-28 07:18:06

Ⅰ 」輸入某年某月某日,判斷這一天是這一年的第幾天「用c語言怎樣編程

#include<stdio.h>
voidmain()
{
intsumday(intmonth,intday);/*計算第多少天的函數聲明*/
intleap(intyear);/*判斷是否閏年的函數聲明*/
intmonth,day,days,year;
intdaytab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};/*一般年的12個月的天數組成一個數組*/
printf("Pleaseinputdate(year,month,day):");/*提示輸入年月日*/
scanf("%d-%d-%d",&year,&month,&day);/*輸入年月日*/
printf("%d/%d/%d\n",year,month,day);
days=sumday(month,day);/*計算天數的函數調用*/
if(leap(year)&&month>=3)/*調用判斷是否閏年的函數,並且月份大於等於3時天數加1*/
days=days+1;
printf("Todayisthe%ddayofthisyear.",days);/*顯示是第多少天的函數*/
}
intsumday(intmonth,intday)
{
intdaytab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
inti;
for(
i=0;i<month;i++)
day+=daytab[i];
return(day);
}
intleap(intyear)
{
intleap;
leap=(year%4==0&&year%100!=0||year%400==0);
return(leap);
}

Ⅱ c語言求日期是這一年的第幾天的最簡便寫法是什麼

#include<stdio.h>

structDate{
inty;
intm;
intd;
};

voidmain()
{
Datedate;
intmonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d%d",&date.y,&date.m,&date.d);
intflag=0; //閏年且月份大於2就改為1
if(((date.y%100!=0)&&(date.y%4==0))||(date.y%400==0)&&date.m>2){
flag=+1;
}
inti;
intwhatday=0; //存放第幾天
for(i=0;i<date.m;i++)
{
whatday+=month[i];
}
whatday+=date.d+flag;
printf("%d ",whatday);
}

等著啊,立馬給你敲出來!

Ⅲ c語言編程:輸入年月日,求出該天是該年的第幾天

#include<stdio.h>

intmain()

{intday,month,year,sum,leap;

printf(" 請輸入年、月、日,格式為:年,月,日(2015,12,10) ");

scanf("%d%d%d",&year,&month,&day);//格式為:20190510

switch(month)//先計算某月以前月份的總天數

{case1:sum=0;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printf("dataerror");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("這是這一年的第%d天。",sum);

printf(" ");

}

(3)c語言輸入日期判斷第幾天較簡便的方法擴展閱讀

使用c語言編程結構tm格式化時間注意事項:

tm結構在C/C++中處理日期和時間相關的操作時,顯得尤為重要。tm結構以C結構的形式保存日期和時間,大多數與時間相關的函數都使用了tm結構。

使用了tm結構和各種與日期和時間相關的函數。在練習使用結構之前,需要對C結構有基本的了解,並懂得如何使用箭頭->運算符來訪問結構成員。

Ⅳ 怎麼用C語言輸入一個日期,求該日期是該年的第幾天

我大概給個思路,代碼是現寫的 沒調試
先定義每個月的天數,2月按28天算
輸入年月日後,根據年判斷是否閏年(閏年加1天),再從1月加到當月的前一月,再加上日期就可以了

#include <stdio.h>
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!! ", days, yy);
}

比如輸入 1999 2 1
應該輸出:This is the 32 day of year 1999!!

Ⅳ 用c語言編寫一程序,用戶輸入日期,計算該日是今年的第幾天

#include"stdio.h"

#include"stdlib.h"

intmain()

{

intday,month,year,sum,leap;

printf(" pleaseinputyear,month,day ");

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

switch(month)/*先計算某月以前月份的總天數*/

{

case1:sum=0;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printf("dataerror ");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("Itisthe%dthday. ",sum);

return0;

}

(5)c語言輸入日期判斷第幾天較簡便的方法擴展閱讀

C語言輸入任意一個日期的年、月、日的值,求出是星期幾並輸出。

#include<stdio.h>

voidmain()

{

inty,m,d,c,s,w;

printf("請輸入8位年月日,以空格隔開:");

scanf("%d%d%d",&y,&m,&d);

if(m==1)c=d;

elseif(m==2)c=31+d;

elseif(m==3)c=31+28+d;

elseif(m==4)c=31+28+31+d;

elseif(m==5)c=31+28+31+30+d;

elseif(m==6)c=31+28+31+30+31+d;

elseif(m==7)c=31+28+31+30+31+30+d;

elseif(m==8)c=31+28+31+30+31+30+31+d;

elseif(m==9)c=31+28+31+30+31+30+31+31+d;

elseif(m==10)c=31+28+31+30+31+30+31+31+30+d;

elseif(m==11)c=31+28+31+30+31+30+31+31+30+31+d;

elseif(m==12)c=31+28+31+30+31+30+31+31+30+31+30+d;

if(m>2)

{if(y%100==0){if(y%400==0)c=c+1;}

elseif(y%4==0)c=c+1;}

s=(y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400+c;

w=s%7;

switch(w)

{

case0:printf("星期日");break;

case1:printf("星期一");break;

case2:printf("星期二");break;

case3:printf("星期三");break;

case4:printf("星期四");break;

case5:printf("星期五");break;

case6:printf("星期六");break;

printf(" ");

}

}

Ⅵ 用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>31||day<1||month>12||month<1) printf("error");
else
{
for(n=1;n<month;n++) month_day_sum+=month_day[n];
sum=month_day_sum+day;
printf("%d",sum);
}
getch();
}
在WIN-TC調試通過

Ⅶ 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 if(m==2){

c+=29;

}else{

c+=30;

}}

return c+d;

}else{

return d;

}

}else{//平年

if(m==2){//2月是28天

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+=28;

}else{

c+=30;

}}

return c+d;

}else{

return d;

}}}

void main(){

int y,m,d,count=1;

printf("請輸入年月日(例如2017-01-01):");

scanf("%d-%d-%d",&y,&m,&d);

while( ((((y%4==0 && y%100!=0)||(y%400==0)) && (m==2)) && d>29) || (y%400!=0

&& y%4!=0 && m==2 && d>28) || ((m==1 || m==3 || m==5 || m==7 || m==8 || m==10 ||

m==12)&&d>31) || ((m==4 || m==6 || m==9 || m==11)&& d>30)){

printf("請輸入年月日(例如2017-01-01):");

scanf("%d-%d-%d",&y,&m,&d);}

//先判斷是否為閏年

if((y%4==0 && y%100!=0)||(y%400==0)){//閏年

count=getDaysByMonth(m,d,'r');

}else{//平年

count=getDaysByMonth(m,d,'n');}

printf("%d-%02d-%02d是今年的第%d天 ",y,m,d,count);

putchar(' ');

}

網路-運算符優先順序

Ⅷ c語言 輸入某年某月某日,判斷這一天是這一年的第幾天

#include&lt;stdio.h&gt;

//輸入某年某月某日,判斷這一天是這一年的第幾天?

int getDaysByMonth(int m,int d,char flag)

{

int c;

if(flag=='r'){//閏年

if(m==2){//2月是29天

return(31+d);

}else if(m&gt;2){

c=0;

m=m-1;

for(;m&gt;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{

return d;

}

}else{//平年

if(m==2){//2月是28天

return(31+d);

}else if(m&gt;2){

c=0;

m=m-1;

for(;m&gt;0;m--)

{

if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){

c+=31;

}else if(m==2){

c+=28;

}else{

c+=30;

}

}

return c+d;

}else{

return d;

}

}

}

void main()

{

int y,m,d,count=1;

printf("請輸入年月日(例如2017-01-01):");

scanf("%d-%d-%d",&y,&m,&d);

while(((((y%4==0&&y%100!=0)||(y%400==0))&&(m==2))&&d&gt;29)||

(y%400!=0&&y%4!=0&&m==2&&d&gt;28)||

((m==1||m==3||m==5||m==7||m==8||m==10||m==12)&&d&gt;31)||

((m==4||m==6||m==9||m==11)&&d&gt;30)){

printf("請輸入年月日(例如2017-01-01):");

scanf("%d-%d-%d",&y,&m,&d);

}

//先判斷是否為閏年

if((y%4==0&&y%100!=0)||(y%400==0)){//閏年

count=getDaysByMonth(m,d,'r');

}else{//平年

count=getDaysByMonth(m,d,'n');

}

printf("%d-%02d-%02d是今年的第%d天 ",y,m,d,count);

putchar(' ');

}

(8)c語言輸入日期判斷第幾天較簡便的方法擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include&lt;math.h&gt;//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在當前項目中的函數原型、類型定義和宏

可以在#include命令中使用宏。如果使用宏,該宏的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

當上述程序代碼進入預處理時,如果_DEBUG_宏已被定義,那麼預處理器會插入myProject_dbg.h的內容;如果還沒定義,則插入myProject.h的內容。

Ⅸ C語言中輸入年月日,判斷這一天是一年的第幾天……

以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.

(9)c語言輸入日期判斷第幾天較簡便的方法擴展閱讀

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;

Ⅹ C語言,輸入年月日,判斷是這一年的第幾天

1、首先打開vc6.0, 新建一個vc項目。