打印英文年歷C語言函數,C語言打印年歷

voidshow_year(int year)

{inti,j,k,t,n;                           // 用來輔助計數int table[24][21] = {0};                     // 年歷數組int month_day[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 每月上限天數if ((0 == year%4 || 0 == year%400) && 0 != year%100)    //閏年檢查,如果是閏年,2月上限天數改為29

{

month_day[2] = 29;

}

printf ("******************\n");

printf ("%d \n", year);

printf ("******************\n");for (i=0; i<12; i++)                       // 為了使邏輯更加清晰,一次循環只完成一個月的日期填寫,i為當前月份

{n=cal_first(i+1);                     // n為當前月份第一天的星期數,cal_first函數中的月數必須為1~12,for (j=(i/3)*6; j3)*6+6; j++)             // 所以這里傳參時+1,j用來根據月數控制每個月在年歷數組中的第一維坐標

{                                // 坐標(縱坐標)的位置,同樣的,用來根據月數控制每個月在年歷數組中for (k=(i%3)*7; k3)*7+7; k++)          // 第二維坐標(橫坐標)的位置

{

t= (j%6)*7 + k%7 - n + 2;            // t用來臨時記錄當前位置應該填入年歷數組的值,為了簡化邏輯,這里通過if (0 >=t)                     // 數學計算記錄每一個位置應填入的值,(j%6)*7 + k%7計算出的值是本

{                           // 月的第幾個位置,-n+2就會計算出當前格內正確的日期。這樣做會導致得出continue;                    // 負數或0,或炒熟每月天數上限,我們用if + continue將其跳過,這樣

}                           // 不正確的日期就依然是年歷數組初始化時的0if (t <=month_day[i])

{

table[j][k]=t;

}else{continue;

}

}

}

}for (i=0; i<24; i++)                      // 至此,年歷數組已經全部填好,接下來是打印環節,相信已經比較好理解了

{                                 // 每隔6行打印標頭,7列多打印幾個空格,遇到數組中為0則同樣打印空格if (0 ==i)

{

printf ("Jan Feb Mar\n");

printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");

}if (6 ==i)

{

printf ("Apr May Jun\n");

printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");

}if (12 ==i)

{

printf ("Jul Agu Sep\n");

printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");

}if (18 ==i)

{

printf ("Oct Nov Dec\n");

printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");

}for (j=0; j<21; j++)

{if (7 == j || 14 ==j)

{

printf (" ");

}if (0 ==table[i][j])

{

printf (" ");continue;

}

printf ("%4d", table[i][j]);

}

printf ("\n");

}

}

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

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

相關文章

ubuntu14.04配置caffe

ubuntu 14.04 64bit 安裝 請自行Google安裝&#xff0c;并修改源。 cuda 7.5 安裝 cuda7.5下載&#xff0c;選擇ubuntu 14.04的deb包下載安裝一些可能的依賴 sudo apt-get install linux-headers-$(uname -r) build-essential 安裝cuda sudo dpkg –i cuda-repo-<distro>…

iOS開發API常用英語名詞

iOS開發API常用英語名詞 0. indicating 決定 1.in order to 以便 2.rectangle bounds 矩形尺寸 3.applied 應用 4.entirety 全部 5.technique 方法 6.truncating 截短 7.wrapping 換行 8.string 字符串 9.familiar style 簡體 10.The styled text 主題樣式 11.Constants 常量 …

Win10 IIS本地部署網站運行時圖片和樣式不正常?

后期會在博客首發更新&#xff1a;http://dnt.dkill.net 異常處理匯總-服 務 器 http://www.cnblogs.com/dunitian/p/4522983.html 啟用關閉win功能&#xff0c;開啟一下靜態內容 收工~

設置IIS會話過期時間

打開默認網站----雙擊ASP--展開會話屬性---更改超時時間-轉載于:https://www.cnblogs.com/genesis/p/4816128.html

89c51單片機匯編語言,AT89C2051時鐘程序——MCS51單片機匯編程序

;; AT89C2051時鐘程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;定時器T0、T1溢出周期為50MS&#xff0c;T0為秒計數用&#xff0c; T1為調整時閃爍用&#xff0c;;P3.7為調整按鈕&#xff0c;P1口 為字符輸出口&#xff0c;采用共陽顯示管。;;;;;;;;;;;;;;;;;;;;;;;;;;;;…

c語言結構體指針初始化

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 記得上周在飯桌上和同事討論C語言的崛起時&#xff0c;講到了內存管理方面 我說所有指…

WWDC 2013 Session筆記 - iOS7中彈簧式列表的制作

這是我的WWDC2013系列筆記中的一篇&#xff0c;完整的筆記列表請參看這篇總覽。本文僅作為個人記錄使用&#xff0c;也歡迎在許可協議范圍內轉載或使用&#xff0c;但是還煩請保留原文鏈接&#xff0c;謝謝您的理解合作。如果您覺得本站對您能有幫助&#xff0c;您可以使用RSS或…

H5學習之旅-H5列表(8)

列表的基本語法 ol&#xff1a;有序列表 ul&#xff1a;無序列表 li&#xff1a;列表項 dl&#xff1a;列表 dt&#xff1a;列表項 dd&#xff1a;列表描述 常用列表 1.無序列表&#xff1a;使用標簽 ul&#xff0c;li 屬性&#xff1a;disc&#xff08;默認實心圓&#xff09;…

c語言 文件夾是否純真,C語言面試題大匯總之華為面試題(轉)

1、局部變量能否和全局變量重名&#xff1f;答&#xff1a;能&#xff0c;局部會屏蔽全局。要用全局變量&#xff0c;需要使用 ":: "局部變量可以與全局變量同名&#xff0c;在函數內引用這個變量時&#xff0c;會用到同名的局部變量&#xff0c;而不會用到全局變量。…

virtual析構函數的作用?

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 大家知道&#xff0c;析構函數是為了在對象不被使用之后釋放它的資源&#xff0c;虛函…

[codevs1039]數的劃分

這一題實際上是組合數學里面的經典問題&#xff0c;跟第二類Stirling數有些相似。可以把一個數值為n的數看成n個小球&#xff0c;劃分的份數k看作是k個盒子&#xff0c;那么本題的要求就是&#xff1a; 將n個小球放到k個盒子中&#xff0c;小球之間與盒子之間沒有區別&#xff…

c語言中用文件處理數據,C語言文件處理 -C語言從文件中讀寫格式化數據

從圖 1 所示的文件 fin.txt 中讀取學生姓名、身高和體重&#xff0c;計算并顯示它們的平均值&#xff0c;并且將顯示結果保存到文件 fout.txt 中。圖 1&#xff1a;輸入輸出文件示例C語言代碼清單 1&#xff1a;讀取學生姓名、身高和體重&#xff0c;計算并顯示它們的平均值#in…

MySQL于ON DUPLICATE KEY UPDATE采用

今天我們做的推斷插入用途MySQL于ON DUPLICATE KEY UPDATE。現在&#xff0c;Mark下面&#xff01;假設你想做的事&#xff0c;再有就是在數據庫中插入數據沒有數據、如果有數據更新數據&#xff0c;然后你可以選擇ON DUPLICATE KEY UPDATE。 ON DUPLICATE KEY UPDATE可以在UNI…

C++中Static作用和使用方法

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 1、什么是static? static 是C中很常用的修飾符&#xff0c;它被用來控制變量的…

三星+android+7.0+自動糾正單詞,升級黨必看!三星S/Note系列更新Android 7.0指南

上周&#xff0c;雷科技(微信ID&#xff1a;leitech)曾為大家提供了一份Android 7.0升級預測名單。現在為了增加針對性&#xff0c;這次筆者就以三星最熱門的兩大旗艦S和Note系列為例&#xff0c;給大家提供一個全方面的更新指南。截至目前&#xff0c;三星S系列和Note系列的正…

iOS開發出錯whose view is not in the window hierarchy!的解決

大熊貓豬侯佩原創或翻譯作品.歡迎轉載,轉載請注明出處. 如果覺得寫的不好請多提意見,如果覺得不錯請多多支持點贊.謝謝! hopy ;) 一個簡單的單窗口App在運行時出現錯誤: 2016-04-07 14:28:48.411 BlurViewAndPopView[4364:168520] Warning: Attempt to present <UIAlertCon…

互聯網年鑒

最近互聯網行業&#xff0c;有一個詞說的比較多了&#xff0c;“資本寒冬”。作為&#xff0c;一個在這個行業里干的人&#xff0c;真心是好怕怕呢。 媽蛋&#xff0c;真怕哪天就突然失業了呀。所以&#xff0c;無聊的(操蛋的)去整理了一些98年開始一直到現在的互聯網中一些自己…

android oreo 開機動畫,Android O添加了一個 Splash Screen API幫助簡化啟動屏制作

大多數開發者對閃屏(splash screen)都持不同的態度。一些人支持用閃屏隱藏app的加載&#xff0c;然后自然過渡到主界面&#xff0c;而另一些人認為閃屏不管是對用戶還是開發者都是浪費時間。谷歌在這個問題上的立場也是不一的&#xff0c;以前不推薦使用閃屏的使用&#xff0c;…

C++空類默認函數

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 定義一個空的C類&#xff0c;例如 class Empty { } 一個空的class在C編譯器處理過后就…

拼接SQL的一個技巧

2019獨角獸企業重金招聘Python工程師標準>>> 為了避免判斷是否要在字符串中加 AND 來連接查詢條件&#xff0c;我們可以直接在在WHERE 后面寫 id>0。 這樣&#xff0c;我們在拼接條件的時候&#xff0c;就可以直接寫 AND 了。 SELECT* FROM t_table WHEREid>0…