基於硬體的C(C++)語言程式設計教程9:判斷一個年份是否為閏年
本系列文章希望探討以硬體為平臺講述C(C++)知識的一個新的途徑,改變目前大多數C語言教程僅注重C語言本身的語法規則,而脫離其應用環境的現狀。希望讀者通過本教程的學習,能夠立刻學以致用,真正將所學知識應用到專案實踐中。
開發環境:Atmel Studio 7.0
硬體平臺:Microchip AVR ATmega168PA
參考教材:C++程式設計(第3版) 譚浩強編著,清華大學出版社
備註:教程僅適合初學者,高手請繞過
本文將對教材P67頁的例程3.8進行改進,使之能夠運行於Atmel Studio。例程3.8的功能是判斷一個年份是否為閏年,閏年的判斷條件是“能被4整除,但不能被100整除,或者能被400整除”。
一、源程式(改進後)
/* * 專案名稱:判斷一個年份是否為閏年 * 作者:snmplink * 建立時間:2018-10-30 * 備註: */ #include <avr/io.h> int main(void) { int year, leap; //leap表示是否為閏年,用1表示是閏年,用0表示不是閏年 year = 2004; while (1) { if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) { leap = 1; } else { leap = 0; } } else { leap = 1; } } else { leap = 0; } } }
二、執行結果
三、流程圖
四、註解
1、關係運算符:<、 <=、 > 、>=、 ==、 !=,分別為小於、小於等於、大於、大於等於、等於、不等於。
2、邏輯運算子:&&、||、!,分別為邏輯與、邏輯或、邏輯非。
3、另一種寫法:
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
leap = 1;
}
else
{
leap = 0;
}
任何問題,只需在此文章的評論處留言即可,我將盡力解答,不要試圖採用其它的聯絡方式,我一概不理會。
原創性文章,轉載請註明出處CSDN:http://blog.csdn.net/qingwufeiyang12346。
相關推薦
基於硬體的C(C++)語言程式設計教程9:判斷一個年份是否為閏年
本系列文章希望探討以硬體為平臺講述C(C++)知識的一個新的途徑,改變目前大多數C語言教程僅注重C語言本身的語法規則,而脫離其應用環境的現狀。希望讀者通過本教程的學習,能夠立刻學以致用,真正將所學知識應用到專案實踐中。 開發環境:Atmel Studio 7.0 硬體平臺
基於硬體的C(C++)語言程式設計教程11:求解1+2+3+...+100之和
本系列文章希望探討以硬體為平臺講述C(C++)知識的一個新的途徑,改變目前大多數C語言教程僅注重C語言本身的語法規則,而脫離其應用環境的現狀。希望讀者通過本教程的學習,能夠立刻學以致用,真正將所學知識應用到專案實踐中。 開發環境:Atmel Studio 7.0 硬體平臺:Microch
基於硬體的C(C++)語言程式設計教程10:運輸公司計算運費
本系列文章希望探討以硬體為平臺講述C(C++)知識的一個新的途徑,改變目前大多數C語言教程僅注重C語言本身的語法規則,而脫離其應用環境的現狀。希望讀者通過本教程的學習,能夠立刻學以致用,真正將所學知識應用到專案實踐中。 開發環境:Atmel Studio 7.0 硬體平臺:Microch
基於硬體的C(C++)語言程式設計教程12:用函式實現2數之和
本系列文章希望探討以硬體為平臺講述C(C++)知識的一個新的途徑,改變目前大多數C語言教程僅注重C語言本身的語法規則,而脫離其應用環境的現狀。希望讀者通過本教程的學習,能夠立刻學以致用,真正將所學知識應用到專案實踐中。 開發環境:Atmel Studio 7.0 硬體平臺:Microch
Mac下使用Eclipse實現Android中呼叫C/C++(NDK)基礎詳細教程
寫於2014年那個辦公室停電導致熱爆了汗流浹背的夏天。 需求 NDK是由谷歌娘提供的,某種意義上就是可以讓android使用c開發的第“三”方sdk,所以,正常來說eclipse是沒有配置這個東西的,當然如我所云,我只考慮用最小的工程成本(較少的
c語言判斷一個年份是否是閏年
思路是將年份分別除以4,100,400的餘數分別存在four,hundred,fourhundred變數中然後只有兩種情況是閏年其他不是 #include <stdio.h> void main() { int four , hundred , fourhundred , year;
《網際網路程式設計(Java)》——課程筆記9:郵件傳送程式設計
學會網路郵件傳送的程式設計技術。 網路程式設計的精髓是什麼? 就是客戶端和伺服器的對話和響應契約(協議)。 簡單郵件傳輸協議SMTP可以很好地詮釋這一點。 郵件傳輸協議包括SMTP(簡單郵件傳輸協議,RFC821)及其擴充協議MIME; 郵
《C語言例程系列》-- 判斷一個整數是否為素數
#include <stdio.h> int main() { int num,i,a,b=0; printf("請輸入整數:"); scanf("%d",&num); for(i=2; i<(n
c語言:判斷一個年份是不是閏年和雞兔同籠問題
#include<stdio.h> int main() { int year; printf("請輸入年份:\n"); scanf("%d",&year); if((year%4==0)&&(year%100
程式設計:判斷一個字串是否為另一個字串的子串。
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char *str, *ptr; int i, len_str, len_pt
1012 - C語言程式設計教程(第三版)課後習題6.2
1012 - C語言程式設計教程(第三版)課後習題6.2 時間限制:1秒 記憶體限制:128兆 題目描述 輸入一行字元,分別統計出其中英文字母、空格、數字和其他字元的個數。 輸入 一行字元 輸出 統計值 樣例輸入 aklsjflj123 sadf918u324 asdf91u32oa
1011 - C語言程式設計教程(第三版)課後習題6.1
1011 - C語言程式設計教程(第三版)課後習題6.1 時間限制:1秒 記憶體限制:128兆 題目描述 輸入兩個正整數m和n,求其最大公約數和最小公倍數。 輸入 兩個整數 輸出 最大公約數,最小公倍數 樣例輸入 5 7 樣例輸出 1 35 最大公約數求法我是用的是輾轉相除法進行
1010 - C語言程式設計教程(第三版)課後習題5.8
1010 - C語言程式設計教程(第三版)課後習題5.8 時間限制:1秒 記憶體限制:128兆 題目描述 企業發放的獎金根據利潤提成。利潤低於或等於100000元的,獎金可提10%; 利潤高於100000元,低於200000元(100000<I≤200000)時,低於100000元的部
1047 - C語言程式設計教程(第三版)課後習題10.5
1047 - C語言程式設計教程(第三版)課後習題10.5 時間限制:1秒 記憶體限制:128兆 題目描述 有n人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來的第幾號的那位。 輸入 初始人數n 輸出 最後一人的初始編號 樣例輸入
1022 - C語言程式設計教程(第三版)課後習題7.1
1022 - C語言程式設計教程(第三版)課後習題7.1 時間限制:1秒 記憶體限制:128兆 題目描述 用篩法求之N內的素數。 輸入 N 輸出 0~N的素數 樣例輸入 100 樣例輸出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
1008 - C語言程式設計教程(第三版)課後習題5.6
1008 - C語言程式設計教程(第三版)課後習題5.6 時間限制:1秒 記憶體限制:128兆 題目描述 給出一百分制成績,要求輸出成績等級‘A’、‘B’、‘C’、‘D’、‘E’。 90分以上為A 80-89分為B 70-79分為C 60-69分為D 60分以下為E 輸入 一個整數0
1007 - C語言程式設計教程(第三版)課後習題5.5
007 - C語言程式設計教程(第三版)課後習題5.5 時間限制:1秒 記憶體限制:128兆 描述 有一個函式 y={ x x<1 | 2x-1 1<=x<10 \ 3x-11 x>=10 寫一段程式,輸入x,輸出y 輸入 一個數x 輸出 一個數y 樣例輸
1006 - C語言程式設計教程(第三版)課後習題5.4
1006 - C語言程式設計教程(第三版)課後習題5.4 時間限制:1秒 記憶體限制:128兆 描述 有三個整數a b c,由鍵盤輸入,輸出其中的最大的數。 輸入 一行陣列,分別為a b c 輸出 a b c其中最大的數 樣例輸入 10 20 30 樣例輸出 30 提示 max ?
1005 - C語言程式設計教程(第三版)課後習題4.9
1005 - C語言程式設計教程(第三版)課後習題4.9 時間限制:1秒 記憶體限制:128兆 題目描述 輸入一個華氏溫度,要求輸出攝氏溫度。公式為 c=5(F-32)/9 輸出要求有文字說明,取位2小數。 輸入 一個華氏溫度,浮點數 輸出 攝氏溫度,浮點兩位小數 樣例輸入 -4
1003 - C語言程式設計教程(第三版)課後習題3.7
1003 - C語言程式設計教程(第三版)課後習題3.7 時間限制:1秒 記憶體限制:128兆 提交 題目描述 要將"China"譯成密碼,譯碼規律是:用原來字母后面的第4個字母代替原來的字母.例如,字母"A"後面第4個字母是"E".“E"代替"A”。因此,“China"應譯