當前位置:首頁 » 編程語言 » c語言年月日編程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言年月日編程

發布時間: 2022-12-08 10:44:30

『壹』 c語言,求年月日

首先判定年份是不是閏年,其次你使用各數組把年份的月存儲下來(分閏年和平年),然後用一個循環來疊加和你輸入的第二個數做筆記如果小了繼續疊加,在疊加的過程中使用一個計數器,那個就是月份,當疊加的數大於那個天數了,再做差計算式那個月的第幾天!

『貳』 c語言中年月日之類的代碼

int year = 1230;
int month = 4;
int day = 46;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(year%4==0&&year%100!=0||year%400==0)
a[2]++;
if(month>12||month<1||day<1||day>a[month])
{
printf("date error!\n");
return 0;
}

『叄』 C語言 年月日

定義個結構數組,分別保存年月日
兩個變數,一個保存生日一個保存當前日期
然後兩個變數相減

『肆』 C語言編程序實現如下功能:輸入任意一個日期的年、月、日的值,求出是星期幾並輸出。

用蔡勒公式即可:

#include<stdio.h>

intmain()

{

inty,m,d,c,w;

printf("輸入年月日(空格間隔):");

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

if(m==1||m==2)

{//判斷月份是否為1或2y--;m+=12;}

c=y/100;

y=y-c*100;

w=(c/4)-2*c+(y+y/4)+(13*(m+1)/5)+d-1;

while(w<0)w+=7;

w%=7;

if(w==0)printf("星期日");

elseprintf("星期%d",w);

return0;

}

方法二:

#include

void main ()

{

int y,m,d,c,s,w;

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

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

if (m==1) c=d;

else if (m==2) c=31 d;

else if (m==3) c=31 28 d;

else if (m==4) c=31 28 31 d;

else if (m==5) c=31 28 31 30 d;

else if (m==6) c=31 28 31 30 31 d;

else if (m==7) c=31 28 31 30 31 30 d;

else if (m==8) c=31 28 31 30 31 30 31 d;

else if (m==9) c=31 28 31 30 31 30 31 31 d;

else if (m==10) c=31 28 31 30 31 30 31 31 30 d;

else if (m==11) c=31 28 31 30 31 30 31 31 30 31 d;

else if (m==12) c=31 28 31 30 31 30 31 31 30 31 30 d;

if (m>2)

{if (y0==0) {if (y@0==0) c=c 1;}

else if (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)

{

case 0: printf("星期日");break;

case 1: printf("星期一");break;

case 2: printf("星期二");break;

case 3: printf("星期三");break;

case 4: printf("星期四");break;

case 5: printf("星期五");break;

case 6: printf("星期六");break;

printf("
");

}

}

(4)c語言年月日編程擴展閱讀:

C語言日期函數,日期處理函數:

定義一個表示日期的結構體類型,再分別定義函數完成下列功能:計算某一天是對應年的第幾天,這一年一共多少天;計算兩個日期之間相隔的天數。兩個日期由鍵盤輸入。

演算法思想:

設定結構體類型表示日期類型名為 Date,利用 typedef 將其定義為日期型類型名,有三個整型類型的成員分別表示年、月、日。

設定函數計算輸入的日期是這一年的第幾天。函數的形參為日期型變數,函數體中設定整型數組存放每個月的天數,二月份的天數為 28 天。

設定函數判斷年份是否為閏年以決定二月份的天數。根據輸入的日期月份,在數組中將相應的月份天數求和,假日曰期即為天數。

設定函數完成兩個日期的比較,比較形參 d 和 s 兩個日期的大小。首先比較年,同年的比較月,同月的比較日。變數 start 保存輸入的小的日期年份,end 保存輸入日期大的年份,然後計算兩個日期之間的天數。

程序由 6 個函數構成,yearday() 函數計算某年的天數,monthday() 函數計算某年二月份的天數,dayofyeaK() 函數計算某日期是某年的第幾天。

cmpdate() 函數比較兩個日期的大小,interday() 函數計算兩個日期之間的天數。

dayofyear() 函數調用 monthday() 函數,interday() 函數調用 cmpdate() 函數。

yearday() 函數、dayofyear() 函數;主函數調用 yearday() 函數、dayofyear() 函數、interday() 函數。

『伍』 c語言編寫程序從鍵盤輸入年份和月份,計算出這一年的這一個月有多少天

#include<stdio.h>

int main()

{

int year,month,days,day;

printf("請輸入年月日");

scanf("%d-%d-%d",&year,&month,&days);

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: day=31;break;

case 4:

case 6:

case 9:

case 11:day=30;break;

case 2:

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

day=29;

else

day=28;break;

default :printf("error ");

}

printf("這個月有%d天",day);

}

『陸』 編寫一個c語言程序,輸入一個年月日,輸出這個日期是這一年的第幾天。(考慮閏年)

#include <stdio.h>

void main()

{

int year=0,month=0,day=0,i=0,sum=0;

while(1)

{

printf("請輸入年份:");

scanf("%d",&year);

printf("請輸入月份:");

scanf("%d",&month);

printf("請輸入日期:");

scanf("%d",&day);

i=0;//i變數是為了控制月和日的格式是否輸入正確;

switch(month)//判斷每個月的日期是否輸入正確;

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

if(day>0&&day<=31)

{

i=1;

}

break;

case 4:

case 6:

case 9:

case 11:

if(day>0&&day<=30)

{

i=1;

}

break;

case 2://2月閏年可以輸入29日;

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

{

if(day>0&&day<=29)

{

i=1;

}

}

else

{

if(day>0&&day<=28)

{

i=1;

}

}

break;

default://如果輸入不是1-12月份,那麼月份輸入有誤;

i=0;

break;

}

if(i)//如果i變數為1,那麼輸入正確,否則重新輸入;

{

break;

}

else

{

printf("請輸入正確的年月日!!! ");

}

}

i=0;

switch(month)//把每個月的日期累加;

{

case 12:

i=i+30;

case 11:

i=i+31;

case 10:

i=i+30;

case 9:

i=i+31;

case 8:

i=i+31;

case 7:

i=i+30;

case 6:

i=i+31;

case 5:

i=i+30;

case 4:

i=i+31;

case 3:

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

{

i=i+29;

}

else

{

i=i+28;

}

case 2:

i=i+31;

case 1:

;

}

sum=i+day;

printf("%d年%d月%d日是%d年的第%d天 !",year,month,day,year,sum);

}

拓展資料

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。



『柒』 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(" ");

}

(7)c語言年月日編程擴展閱讀

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

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

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

『捌』 C語言編程:給定一個日期(年/月/日)計算該日期是所在年的第幾天。

//1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊
//情況,閏年且輸入月份大於3時需考慮多加一天。
#include<stdio.h>
void
main(){
int
year,month,day,i,leap;
int
fleap(int
a);
printf("請輸入年月日如(2009,1,1):");
scanf("%d,%d,%d",&year,&month,&day);
//printf("%d,%d,%d\n",year,month,day);
switch(month){
case
1:i=0;break;
case
2:i=31;break;
case
3:i=31+28;break;
case
4:i=31+28+31;break;
case
5:i=31+28+31+30;break;
case
6:i=31+28+31+30+31;break;
case
7:i=31+28+31+30+31+30;break;
case
8:i=31+28+31+30+31+30+31;break;
case
9:i=31+28+31+30+31+30+31+31;break;
case
10:i=31+28+31+30+31+30+31+31+30;break;
case
11:i=31+28+31+30+31+30+31+31+30+31;break;
case
12:i=31+28+31+30+31+30+31+31+30+31+30;break;}
leap=fleap(year);
if(leap==1)
{
i=i+day+1;
printf("\n\n\n\n\n
%d年是潤年\n",year);}
else
{i=i+day;printf("\n\n\n\n\n
%d年不是潤年\n",year);}
printf("%d年%d月%d是%d年的第%d天",year,month,day,year,i);
getch();}
int
fleap(int
a){
int
leap;
if(a%4==0)
{
if(a%100==0)
{
if(a%400==0)
leap=1;
else
leap=0;
}else
leap=1;
}
else
leap=0;
return(leap);}//判斷潤年的

『玖』 C語言程序,輸入年月日算出當天星期幾

先做一個函數,計算1900年1月1日到該天的天數,然後用膜除求出星期幾並輸出。

具體代碼如下:

#include<stdio.h>
#include<stdlib.h>

intDay(inty,intm,intd);

intmain(intargc,char*argv[]){
inti;//循環變數
intyear,month,day;//讀取用戶輸入的年月日
intdays;//儲存從1900-1-1到該天的天數
intweek=0;//儲存求余後的星期
//字元串組合輸出星期
charb[]={"星期"};
charc[7][4]={"日","一","二","三","四","五","六"};

loop:printf("請輸入年月日:(空格分隔) ");
scanf("%d%d%d",&year,&month,&day);
days=Day(year,month,day);
//增強程序的健壯性
if(days==-1)
{
printf("輸入格式有誤,");
fflush(stdin);//防止用戶輸入字母等其他非數字字元
gotoloop;
}
else
{
week=days%7;//用求余計算星期幾
printf("%d年%d月%d日是%s%s ",year,month,day,b,c[week]);
}
system("pause");
return0;
}

//函數功能:輸入年月日,輸出1900-1-1到該天的天數,-1位輸入不合法
intDay(inty,intm,intd)
{
inti;
intr=0;//儲存1900到該天的閏年個數
inta[]={31,28,31,30,31,30,31,31,30,31,30};//m給每出月的天數

if(y>=1900&&m>0&&m<13&&d>0&&d<32)
{
for(i=1900;i<=y;i++)//計算閏年的個數
{
if(i%400==0||i%100!=0&&i%4==0)
r++;
}
for(i=0;i<m-1;i++)//統計當年1月1日到當月的天數
{
d+=a[i];
}
if((y%400==0||y%100!=0&&y%4==0)&&m<3)//如果當年是閏年但不到二月就不能算進去
r--;
return365*(y-1900)+r+d;
}
else
return-1;
}