溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用C語(yǔ)言函數(shù)求閏年

發(fā)布時(shí)間:2022-11-09 18:00:02 來(lái)源:億速云 閱讀:259 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹“如何使用C語(yǔ)言函數(shù)求閏年”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“如何使用C語(yǔ)言函數(shù)求閏年”文章能幫助大家解決問題。

想求閏年,首先得了解閏年的規(guī)則:

普通閏年:公歷年份是4的倍數(shù),且不是100的倍數(shù)的,為閏年(如2004年、2020年等就是閏年)。世紀(jì)閏年:公歷年份是整百數(shù)的,必須是400的倍數(shù)才是閏年(如1900年不是閏年,2000年是閏年)。

有了閏年的判斷規(guī)則,就好辦了

首先就是構(gòu)造main函數(shù),將輸入、輸出和函數(shù)的位置寫出來(lái):
#include <stdio.h>
int main()
{
  int a = 0;
  scanf("%d", &a);//輸入xx年
  run_nian(a);//計(jì)算xx年之前的閏年的年份
  printf("%d", a);//顯示xx年之前的閏年
  return 0;
}
接著構(gòu)造閏年判定函數(shù) run_nian:
第一步,構(gòu)造一個(gè)for循環(huán),把從零開始到輸入數(shù)值遞增的每一年都逐個(gè)判斷一遍。

(因?yàn)檫@里默認(rèn)是公元后,正數(shù)的年份,所以也可以加一個(gè)unsigned,無(wú)符號(hào)整形,增加可以判斷的年份的范圍)

int run_nian(a)
{
  int x;
  for (x = 0; x < a; x++) 
  {

    }
  }
}
第二步,將閏年的兩個(gè)判斷條件用if語(yǔ)句寫出來(lái),即:
if (x % 4 == 0 && x % 100 != 0)//年份為四的倍數(shù),并且不是一百的倍數(shù)
    {
      printf("%-4d ", x);
    }
    if (x % 400 == 0)//年份為四百的倍數(shù)
    {
      printf("%-4d ", x);
    }

輸入2000,運(yùn)算結(jié)果如下(未展示完全):

如何使用C語(yǔ)言函數(shù)求閏年

好了,這樣基本就大功告成了,但是這樣的結(jié)果還是稍微有一些不美觀,可以看到每一行最后一個(gè)數(shù)字是進(jìn)行了換行的,一個(gè)數(shù)字分成了兩個(gè)數(shù)字。雖然可以通過拉伸窗口調(diào)整,但這并不是我們想要的。

那么可以通過增加一個(gè)打印換行的變量count去控制換行的頻率:
for (x = 0; x < a; x++) 
  {
    if (x % 4 == 0 && x % 100 != 0)
    {
      printf("%-4d ", x);
      count = count++;
      if (count % 8 == 0)
      //每打印8個(gè)閏年就換一次行,即一行八個(gè)數(shù)字
        printf("\n");
    }
    if (x % 400 == 0)
    {
      printf("%-4d ", x);
      count = count++;
      if (count % 8 == 0)
        printf("\n");
    }

  }

輸入2000時(shí),運(yùn)行結(jié)果如下:

如何使用C語(yǔ)言函數(shù)求閏年

關(guān)于“如何使用C語(yǔ)言函數(shù)求閏年”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI