年月日c語言編程,年月日編程代碼

本文目錄一覽:

用c語言從鍵盤任意輸入一個日期(年月日),輸出第二天的日期(年月日)。

源程序如下:

#include “pch.h”

#define  _CRT_SECURE_NO_WARNINGS

#include iostream

using namespace std;

int main()

{

int s[2][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 year = 0;

int month = 0;

int day = 0;

int n, i, daytemp;

int flag = 0;

int nyear = 0, nmonth = 0, nday = 0;

printf(“輸入年月日\n”);

scanf(“%d%d%d”, year, month, day);

//printf(“輸入天數\n”);

//scanf(“%d”,n);

n = 1;

if (year 0 || month 0 || month12 || day 1 || n 0)

{

printf(“輸入數據錯誤\n”);

return 1;

}

daytemp = day + n;//累加天數

if ((year % 4 == 0 year % 100 != 0) || year % 400 == 0)//閏年置1

flag = 1;

if (day s[flag][month])

{

printf(“輸入日期與年月不符.\n”);

return 1;

}

if (daytemp = s[flag][month])//當前日期加天數在本月

{

nyear = year;

nmonth = month;

nday = daytemp;

}

else

{

i = month;

nyear = year;

while (daytemp s[flag][i])//循環遞減,直到當前日期加天數在本月

{

daytemp = daytemp – s[flag][i];

i++;

if (i 12)//超過一年,年累加

{

nyear++;

if ((nyear % 4 == 0 nyear % 100 != 0) || nyear % 400 == 0)

flag = 1;

else

flag = 0;

i = i – 12;

}

}

nmonth = i;

nday = daytemp;

}

printf(“%d年%d月%d日第%d天后是:\n”, year, month, day, n);

printf(“%d年%d月%d日\n”, nyear, nmonth, nday);

return 0;

}

程序運行結果如下:

擴展資料:

其他實現方式:

int monthsize(int year, int month) {

int days;

if (month == 2) {

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

return 29;

return 28;

}

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:days = 31; break;

case 4:

case 6:

case 9:

case 11: days = 30; break;

}

return days;

}

int main() 

int year, month, day, days;

printf(“年 月 日:”);

while (scanf(“%d%d%d”, year, month, day) == 3) {

days = monthsize(year, month);

if (days == day) {

if (month == 12) {

++year;

month = 1;

day = 1;

}

else ++month;

}

else ++day;

printf(“第二天是:%d/%02d/%02d\n”, year, month, day);

printf(“年 月 日(q to quit):”);

}

return 0;

}

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

#includestdio.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;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==0year%100!=0))

{//判斷是不是閏年

leap=1;

}

else

{leap=0;

}

if(leap==1month2)

{//*如果是閏年且月份大於2,總天數應該加一天

sum++;

}

printf(“這是這一年的第%d天。”,sum);

printf(“\n”);

}

擴展資料

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

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

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

參考資料來源:百度百科—c語言

編寫一個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(day0day=31)

{

i=1;

}

break;

case 4:

case 6:

case 9:

case 11:

if(day0day=30)

{

i=1;

}

break;

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

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

{

if(day0day=29)

{

i=1;

}

}

else

{

if(day0day=28)

{

i=1;

}

}

break;

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

i=0;

break;

}

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

{

break;

}

else

{

printf(“請輸入正確的年月日!!!\n”);

}

}

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==0year%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天\n!”,year,month,day,year,sum);

}

拓展資料

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

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

C語言 年月日

//還要考慮月日的大小比較

#includestdio.h

#includestdlib.h

int main(){

int y0,m0,d0,y1,m1,d1;

printf(“生日(年 月 日): “);

scanf(“%d %d %d”,y0,m0,d0);

printf(“當前日期(年 月 日): “);

scanf(“%d %d %d”,y1,m1,d1);

int age=y1-y0;

if(m1m0 || (m1==m0 d1d0))

age–;

printf(“年齡: %d”,age);

return 0;

}

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

//1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊

//情況,閏年且輸入月份大於3時需考慮多加一天。

#includestdio.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語言輸出年月日

下面是這段代碼,配合注釋體會一下吧

#include stdio.h

void MonthDay(int year,int yearDay,int *pMonth,int *pDay);

int main()

{

int year,yearDay,month,day;

scanf(“%d%d”,year,yearDay);//輸入年份和天數

MonthDay(year,yearDay,month,day);

printf(“%d-%d-%d”,year,month,day);

return 0;

}

void MonthDay(int year,int yearDay,int *pMonth,int *pDay)

{

int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};//這個數組保存每月的天數

if(year%4==0year%100!=0||year%400==0)//判斷是否為閏年

days[1]=29;//閏年的二月有29天

*pMonth=1;//從一月開始看

while(yearDaydays[*pMonth-1])//如果哪一天超出這個月

{

yearDay-=days[*pMonth-1];//求出超出此月的天數

(*pMonth)++;//繼續考慮下一月

}

*pDay=yearDay;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159470.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-19 18:59
下一篇 2024-11-19 18:59

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29

發表回復

登錄後才能評論