《看聊天記錄都學不會C語言?太菜了吧》(20)(必懂!題解)我能知道2000年后的這個月一共有幾天

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我,若你是真心學習可以送你書籍,指導你學習,給予你目標方向的學習路線,無套路,博客為證。

本系列文章將會以通俗易懂的對話方式進行教學,對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新,包括別的語言以及實戰都將使用對話的方式進行教學,基礎編程語言教學適用于零基礎小白,之后實戰課程也將會逐步更新。

若有想學習的內容可以在評論區留言,根據大家的要求持續更新。點贊過十萬就算化成灰我也更新下一篇。(肯定不到,也會更的。)

有問題也可以在評論區留言,也可以私聊我加我好友共同交流一起進步~

喜歡內容歡迎關注我、評論、點贊、收藏,這對我很重要,謝謝~


由于部分粉絲要求想要學python,就更了這個系列,我就算是生產隊的驢、化成灰我C語言和python都一周6篇打底。可以關注我加我好友提你們想學的內容喲~

目錄

《看聊天記錄都學不會C語言?太菜了吧》(22)(必懂!題解 1-100 內素數)素數原來是質數!為什么你不早說!——(必懂!題解)求素數

《看聊天記錄都學不會C語言?太菜了吧》(21)(必懂!題解冒泡排序)在現實生活中,打擂臺比賽爭名次竟用的是冒泡排序?——(必懂!題解)冒泡必懂

《看聊天記錄都學不會C語言?太菜了吧》(20)(必懂!題解指定天數)我能知道2000年后的這個月一共有幾天——(必懂!題解)我能知道2000年后的這個月一共有幾天

《看聊天記錄都學不會C語言?太菜了吧》(19)鞏固開始,數字1、2、3、4能夠組成多少個 3 位數的不同的排列——鞏固1

《看聊天記錄都學不會C語言?太菜了吧》(18)2分鐘搞結構體——結構體

看聊天記錄都學不會C語言?太菜了吧》(17)5分鐘搞懂指針與多重指針——指針與多重指針

《看聊天記錄都學不會C語言?太菜了吧》(16)我一直以為校花很漂亮,直到我叫了她一聲…——生命空間、命名規則

《看聊天記錄都學不會C語言?太菜了吧》(15)你學了一節課的函數我5分鐘搞定了,還很熟——自定義函數傳參、返回值

《看聊天記錄都學不會C語言?太菜了吧》(14)這么神奇?我寫了20行代碼竟然一行就可以搞定?——自定義函數

《看聊天記錄都學不會C語言?太菜了吧》(13)(9*9 乘法表)尋找電腦中的盲盒彩蛋——for 循環與循環嵌套 九九乘法表

《看聊天記錄都學不會C語言?太菜了吧》(12)循環有多容易?你看一眼就懷…——循環

《看聊天記錄都學不會C語言?太菜了吧》(11)2分鐘領悟數組——數組

《看聊天記錄都學不會C語言?太菜了吧》(10)程序媛聰明絕頂了——邏輯與運算符

《看聊天記錄都學不會C語言?太菜了吧》(9)老公餅真的有老公送?——字符數組

《看聊天記錄都學不會C語言?太菜了吧》(8)牛郎和織女竟有一個孩子?——多條件if

《看聊天記錄都學不會C語言?太菜了吧(7)下一篇文章告訴你牛郎是誰——if邏輯判斷

《看聊天記錄都學不會C語言?太菜了吧(6)以前跟我說編程很難的給我站出來——浮點數及變量運算

《看聊天記錄都學不會C語言?太菜了吧(5)打了一把游戲我學會了一個編程知識?——變量輸出及占位符

《看聊天記錄都學不會C語言?太菜了吧(4)原來我早就會編程了——變量

《看聊天記錄都學不會C語言?太菜了吧(3)代碼都在談戀愛難道你不知道?——頭文件及標點

《看聊天記錄都學不會C語言?太菜了吧(2)我說編程很容易你們不服?——Devc使用及HelloWorld

《看聊天記錄都學不會C語言?太菜了吧(1)我在大佬群里問基礎問題沒人理?——學習建議


我的其它教程

教程點擊進去將會有目錄

《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(1)加載Python神器!亮劍!

《看聊天記錄都學不會C#?太菜了吧》(1)從今天開始我是一個游戲開發者

你去約個會,你零基礎的同學就學完C語言知識點過完了

【小白進】大佬們學習為什么簡單?小白該如何學習?學歷不高如何找工作?副業很好賺?了解后少走彎路


作者簡介

作者名:1_bit

簡介:CSDN博客專家,2020年博客之星TOP5,藍橋簽約作者。15-16年曾在網上直播,帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息,迷茫的你會找到答案。

博客地址:https://i1bit.blog.csdn.net


🐰小C:小媛,上節課的題目現在知識都吸收了吧?

👸小媛:完全沒問題,我現在等待繼續學習了。 😎

🐰小C:哈哈哈,在學習前我問你一個問題吧。

👸小媛:啥問題?

🐰小C:你知道 2038年9月有多少天?

👸小媛:哈?我覺得你在逗我玩,問這個問題有什么意義? 😷

🐰小C:沒,就是問一下你。

👸小媛:但是我感覺你問這個問題就等于在問我“今年過年我會不會給你發紅包”一樣。

🐰小C:哈哈哈,沒開玩笑?

👸小媛:開玩笑的。

🐰小C:你跟我開玩笑干啥?

👸小媛:是你先開的。 😡

🐰小C:我…我其實是想說我們今天要做這一道題。 😂

👸小媛:emmmm,我覺得你惡趣味。

🐰小C:我…開始上課吧。

👸小媛:直接進入正題不香嘛。 😩

🐰小C:好了好了,做這道題我們需要知道一些知識,就是需要知道每一年的天數怎么算。

👸小媛:每年的天數不都是隨機的嗎?

🐰小C:哈哈哈,如果是隨機的,那么頭一年怎么就有第二年的日歷了呢?

👸小媛:哈哈哈,說的也是哈。

🐰小C:來,我來告訴你規律,其實很多同學不知道這題怎么做,也是因為不知道規律才會一頭霧水。

👸小媛:是的,你告訴我規律我馬上就會了。

🐰小C:哈哈哈,真的嗎?你找到一年有 12 個月對吧?

👸小媛:是的。

🐰小C:那你知道有 31 天的月有那幾個月嗎?

👸小媛:我只懂大月和小月,具體天數不懂。

🐰小C:其實每年的 1、3、5、7、8、9、10、12 月都有 31 天,你可以看看你的日歷。

👸小媛:好像真的是耶。 😱

🐰小C:那我們知道了這個規律后,我再告訴你其他月的規律。每年的第 4、6、9、11 月是30天。

👸小媛:真的是這樣。

🐰小C:那就還剩最后一個 2 月,2 月在閏年的時候就是29天,平年的時候 2 月就是 28 天。

👸小媛:所以今年是平年?

🐰小C:是的。

👸小媛:那什么是閏年什么是平年…我都忘了。 😭

🐰小C:哈哈哈,正常。很多人有些東西不在意就不記了,那我來告訴你吧。閏年就是當前年份能夠被 4 整除,但不能夠被 100 整除,這個是情況一;還有一種情況是可以被 400 整除的也是閏年。

👸小媛:所以今年是 2021 年能夠被 4 整除所以是平年咯?所以 2 月才有28天?

🐰小C:是的。那你現在做一個程序,判斷輸入的是閏年還是平年,你覺得你可以嗎?

👸小媛:可以呀,只需要判斷輸入的年份能夠被 4 整除,但不能被 100 整除就是閏年,否則就是平年;還有一種情況就是能夠被 400 整除就可以了,條件就是這樣。

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

🐰小C:哈哈哈,是的。在 if 語句中 a%400 以及 a%4==0 && a%100!=0 判斷是不是閏年,這里使用 % 是取模,表示除一個數得到之后的余數,如果余數為 0 則表示整除,那么肯定就是閏年,反之就是平年。你亮程序吧。

👸小媛:簡單。 😎

#include<stdio.h>
void main()
{int a=0;scanf("%d",&a);if( a%400==0 || (a%4==0 && a%100!=0) ){printf("%d 年是閏年\n",a);}else{printf("%d 年是平年\n",a);}
}

🐰小C:那你能寫一個程序判斷某年某月一共多少天了吧?

👸小媛:可以呀;首先我們獲取用戶輸入的年月數據。

#include<stdio.h>
void main()
{int year=0,month=0;int februaryDays=0;scanf("%d-%d",&year,&month);if( year%400==0 || (year%4==0 && year%100!=0) ){februaryDays=29;}else{februaryDays=28;}switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("輸入的 %d - %d 月一共有 31 天 \n",year,month);break;case 4:case 6:case 9:case 11:printf("輸入的 %d - %d 月一共有 30 天 \n",year,month);break;case 2:printf("輸入的 %d - %d 月一共有 %d 天 \n",year,month,februaryDays);break;default:printf("您一不小心出現了錯誤\n");}
}

🐰小C:代碼好多呀,你能一句一句的解釋一下嗎?哈哈哈。

👸小媛:簡單呀,int year=0,month=0; 定義兩個變量,year 存年份,month 存月份,之后再定義一個變量 februaryDays 為0,用來存儲判斷是否是閏年還是平年,因為平年 2 月份只有 28天,閏年 2月就 29 天;隨后再判斷年份到底是閏年還是平年,根據平年和閏年的不同,賦予 februaryDays 不同的值。 😎

🐰小C:不錯不錯,那接下來呢?

👸小媛:接下來使用 switch 分支結構,跟 if 結構一樣,不過我覺得 switch 在這里用起來比較簡單我就使用 switch 了。

🐰小C:嗯,解釋一下 switch 的使用方法。

👸小媛: 使用 switch 傳入一個 month 變量,month 變量是月份,如果是 1、3、5、7、8、10、12 那么就顯示一共這個月有 31 天。

🐰小C:為什么你不適用 break 呢?

👸小媛: 因為正常情況下,每一個 case 都會有一個 break 進行搭配,方便執行完這個條件對應的分支后就開始跳出,但是在這里我需要滿足 1、3、5、7、8、10、12 這些條件,因為都是 31 天,我就不想跳出了;不使用 break 就會執行完一個 case 后就不跳出,這個時候就會執行下一個 case,直到遇到 break 或者 switch 結構的代碼執行完畢,在這里是到條件 12 后執行輸出語句后跳出。 😋

🐰小C:嗯,繼續講。

👸小媛:然后 4、6、9、11 也是相同的天數,所以就直接顯示 30 天,最后一個 case 2 判斷是否是二月,如果是二月則輸出閏年和平年不同的天數就可以了,由于之前已經判斷了是否是閏年和平年,天數存儲在了 februaryDays 中,直接輸出就可以了。

🐰小C:哈哈哈,不錯,最后一個 default 是為了判斷如果輸入別的錯誤數據做的提示。現在你把代碼結構搞清楚一點,然后再貼一個代碼吧,這樣新手可能看得清楚一點。

👸小媛:好勒。 😋

#include<stdio.h>
void main()
{int year=0,month=0;int februaryDays=0;scanf("%d-%d",&year,&month);if( year%400==0 || (year%4==0 && year%100!=0) ){februaryDays=29;}else{februaryDays=28;}switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("輸入的 %d - %d 月一共有 31 天 \n",year,month);break;case 4:case 6:case 9:case 11:printf("輸入的 %d - %d 月一共有 30 天 \n",year,month);break;case 2:printf("輸入的 %d - %d 月一共有 %d 天 \n",year,month,februaryDays);break;default:printf("您一不小心出現了錯誤\n");}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287183.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287183.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287183.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux nginx線程池,nginx使用線程池提升9倍性能

眾所周知nginx使用異步&#xff0c;事件驅動方法處理連接。這意味著nginx使用一個worker進程處理多個連接和請求&#xff0c;而不是每一個請求有一個專門的進程或著線程處理(像傳統架構的服務器那樣&#xff0c;例如apache)。為了實現這個目的&#xff0c;nginx使用非阻塞模式的…

android 開源項目

https://github.com/Trinea/android-open-project http://a.codekk.com/轉載于:https://www.cnblogs.com/syjhsgcc/p/4902885.html

【空間數據庫】ArcSDE 10.7+SQLEXPRESS+ArcServer 10.7.ecp企業級數據庫環境搭建

作者一直使用的是ArcGIS10.6做空間數據庫相關工作,可以參照文章《ArcGIS 10.6 Database_Server_Desktop安裝、連接數據庫服務、創建企業級數據庫》。今天我們演示安裝ArcGIS10.7自帶的數據庫服務(SQL Server 2014 Express版本)、連接數據庫服務和創建數據庫。 一、軟件準備 …

Android之解決androidx.appcompat.widget.Toolbar去掉左邊距

1 問題 androidx.appcompat.widget.Toolbar默認左邊有間距 2 解決辦法 在Toolbar下面添加如下熟悉 app:contentInsetLeft"0dp"app:contentInsetStart"0dp"app:contentInsetEnd"0dp"app:maxButtonHeight"20dp"app:titleMargin"0…

C# 配置日志記錄

在 .NET Core 中&#xff0c;可以給配置文件使用提供程序&#xff0c;例如從 JSON 或 XML文件、環境變量或命令行參數中讀取配置。只需要從 NuGet 包 Microsoft.ExtensionsConfiguration 中創建一個ConfigurationBuilder&#xff0c;并向此構建器添加提供程序。要添加 JSON 提供…

使用“using” 的 “Cursor”

很多時候&#xff0c;我們會寫下面的這段代碼&#xff1a; private void button1_Click(object sender, EventArgs e) {Cursor cursor Cursor.Current;this.Cursor Cursors.WaitCursor;LongTimeMethod();this.Cursor cursor; }private void LongTimeMethod() {for (int i 0…

《看聊天記錄都學不會C語言?太菜了吧》(21)(必懂!題解)在現實生活中,打擂臺比賽爭名次竟用的是冒泡排序?

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…

ArcGIS 10.7如何獲取矢量多邊形所有折點的坐標(平面坐標和經緯度坐標)?

Descriptions:As shown in the figure below is a surface pattern spot, how to obtain the coordinates of each vertex (plane coordinates and latitude and longitude coordinates)? The results we want are as follows: Via data source,we get the information that…

Mahout分類算法學習之實現Naive Bayes分類示例

1.簡介 (1) 貝葉斯分類器的分類原理發源于古典概率理論&#xff0c;是通過某對象的先驗概率&#xff0c;利用貝葉斯公式計算出其后驗概率&#xff0c;即該對象屬于某一類的概率&#xff0c;選擇具有最大后驗概率的類作為該對象所屬的類。樸素貝葉斯分類器(Naive Bayes Classifi…

linux重新做yum,Linux 系統 Centos 7.7 下重裝yum

0. 背景不小心誤刪除yum后&#xff0c;開始想辦法重新安裝。1. 重裝 yum1.1 步驟需要下面4個包&#xff0c;我們需要下載到它們yum-metadata-parserpython-iniparseyum-plugin-fastestmirroryum-3.4.3下載后&#xff0c;安裝它們。1.2 去哪里下載&#xff1f;當然&#xff0c;搜…

jenkins2 groovy語法

文章來自&#xff1a;http://www.ciandcd.com文中的代碼來自可以從github下載&#xff1a; https://github.com/ciandcd安裝&#xff1a;wget https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.7.zipunzip apache-groovy-binary-2.4.7.zipsudo ln -s /home/osbox…

Android之glide加載圖片圓角效果

1 問題 Android加載圖片需要圓角化,有什么簡單粗暴的方法嗎?當然有,用我們的神器glide 2 解決辦法 1)簡單辦法 ImageView imageView = (ImageView)helper.getView(R.id.keepHomeAppImageview);Glide.with(mContext).asBitmap().load(iconUrl) // .ov…

一維條形碼***技術(Badbarcode)

【轉】http://future-sec.com/badbarcode.html 前言在日常生活中&#xff0c;條形碼隨處可見&#xff0c;特別在超市&#xff0c;便利店&#xff0c;物流業&#xff0c;但你們掃的條形碼真的安全嗎&#xff1f;之前TK教主在PacSec介紹的條形碼攻擊和twitter上的demo視頻太炫酷&…

ArcGIS 10.7 模型構建器Model Builder空間建模流程化作業案例----影像拼接與掩膜裁剪

Model Builder(模型構建器)是一個用來創建、編輯和管理空間分析模型的應用程序,是一種可視化的編程環境,通過對現有工具的組合完成新模型或軟件的制作,為設計和實現空間處理模型(包括工具、腳本和數據)提供了一個圖形化的模型框架。 本文以影像數據的拼接和掩膜裁剪為例…

《看聊天記錄都學不會C語言?太菜了吧》(22)(必懂!題解 1-100 內素數)素數原來是質數!為什么你不早說!

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…

Hello Playwright:(4)自動化測試

利用 Playwright 提供的 API&#xff0c;我們在瀏覽器上做的很多事情都可以自動化。例如&#xff0c;搜索數據、填寫表單和下載文件等等。但最適合的工作&#xff0c;就是自動化測試 Web 應用程序。自動化測試測試是軟件開發中的一項基本任務&#xff0c;至少&#xff0c;你需要…

通才和專家:如何選擇

原文&#xff1a;Generalists and specialists: thoughts on hiring作者&#xff1a;Nicholas C. Zakas 我的職業生涯經歷過各種規模的公司&#xff0c;從非常小的五人創業團隊到 13000 人的大公司雅虎&#xff0c;再到約 1000 人規模的 Box&#xff08;我目前所在&#xff09;…

Android之解決NestedScrollView嵌套ViewPager導致出現左右頁面滑動沖突

1 問題 NestedScrollView里面嵌勒ViewPagerTabLayout&#xff0c;導致在這個頁面監聽不到左右頁面滑動&#xff0c;需要解決這個監聽滑動問題。 2 解決辦法 val nestedScrollView: NestedScrollView mainView!!.findViewById(R.id.nestedScrollView)nestedScrollView.isFillV…

linux和裸機的區別,操作系統與裸機的區別

我們在學習stm32到一定階段可能會了解操作系統&#xff0c;然后便有這種問題產生&#xff0c;下面我就來粗略說說“操作系統與裸機的區別&#xff0c;以及stm32能運行什么操作系統&#xff0c;能運行linux系統嗎”等問題。操作系統與裸機的區別裸機運行的程序代碼&#xff0c;一…

ArcGIS 10.7拆分多部件要素(Multipart Features)至單部件要素的兩種方法

GIS中經常會出現多部件要素的現象,為了便于檢查拓撲等關系,需要將其拆分為單個的部件。例如,在用同一個圖層的多個圖斑去裁剪(Clip)時,或者將多個不相鄰的圖斑進行合并(merge)時,可能會產生多部件要素,本文演示ArcGIS10.7版本中常見的兩種拆分多部件要素至單部件要素…