c語言編寫days,c語言編寫單片機

本文目錄一覽:

C語言編寫days函數 計算該日是該年的第幾天怎麼做?

#includestdio.h

int days(int y,int m,int d)

{int i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

if(y1||m1||d1||da[m]+(y%4==0y%1000||y%400==0))

{printf(“%d-%d-%d不是一個有效的日期!\n”,y,m,d);

return -1;

}

for(i=1;im;i++)

d+=a[i];

return d;

}

int main()

{int year,month,day,answer;

printf(“請輸入一個日期yyyy-mm-dd\n”);

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

answer=days(year,month,day);

if(answer0)

printf(“%d-%d-%d 是該年的第 %d 天.\n”,year,month,day,answer);

getch();

return 0;

}

c語言編程日期計算

// _MONTH代表一年裡各月份的天數

int _MONTH[]={{31},{28},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}}; 

// days第一參數代表月份,第二個參數代表天數

  // 比如11月3日,可以這樣調用days(11,3);

int days(int *m,int *day) 

{

    int i,md=0;

    unsigned int d;

 

    for(i=0;i(*m-1)(i11);i++) 

        md=md+_MONTH[i];

    d=md+(*day);// 總天數累加

    return (int)((d+365)-365); //總天數加365天再減365天相當於取餘數的原理(你把365當成整體來對待你就會明白的),你可設想下,比如你輸入的日期是12月31日那麼總天數就肯定是365,而你若不加365天,直接減去365天,這樣一來就不符合邏輯。這是一個邏輯性問題。你可以自己好好琢磨下。

}

C語言編程日期計算

#include stdio.h

#include windows.h

/* 以公元陽曆來計算(非農曆) */

int _MONTH[]={{31},{28},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}};

int days(int *m,int *day)

{

int i,md=0;

unsigned int d;

for(i=0;i(*m-1)(i11);i++)

md=md+_MONTH[i];

d=md+(*day);

return (int)((d+365)-365);

}

void main()

{

   int month,day;

RESET:

   month=day=1;

   printf(“月份:”);

   scanf(“%d”,month);

   printf(“日期:”);

   scanf(“%d”,day);

   while((month1||month12)||(day1||day31))

   {

  printf(“月份或日期有誤,請重新輸入!\n”);

  fflush(stdin);

  Sleep(3000);

  goto RESET;

   }

   printf(“今天是今年的第%d天\n”,days(month,day));

}

月份與日期是用戶輸入接受來的,如果你想一運行就顯示當前日期是今年的第幾天。你可以使用time.h頭文件里的有關函數來獲取。獲取後你只需將將強制轉換為int型即可帶入實參。具體如何獲取網上有很多成熟的例子。

這個例子的實現原理與日曆實現的原理一樣:

如日曆的原理如下截圖:

C語言編寫days函數 計算該日是該年的第幾天

#includestdio.h

int days(int y,int m,int d)

{int i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

if(y1||m1||d1||da[m]+(y%4==0y%1000||y%400==0))

{printf(“%d-%d-%d不是一個有效的日期!\n”,y,m,d);

return -1;

}

for(i=1;im;i++)

d+=a[i];

return d;

}

int main()

{int year,month,day,answer;

printf(“請輸入一個日期yyyy-mm-dd\n”);

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

answer=days(year,month,day);

if(answer0)

printf(“%d-%d-%d 是該年的第 %d 天.\n”,year,month,day,answer);

getch();

return 0;

}

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 17:12
下一篇 2024-12-12 17:12

相關推薦

  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

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

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

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

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

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

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

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論