當前位置:編程學習大全網 - 編程語言 - C語言綜合實驗設計報告

C語言綜合實驗設計報告

題目: C語言輸出萬年歷

學院:

專業:

班級:

姓名:

設計日期:

        

           總分:  

壹、設計題目:

C語言輸出萬年歷

二、題目闡述及設計思路:

C語言輸出萬年歷,輸入年份、月份,計算得到的是這壹天是星期幾;給定年,月,計算此月有多少天 。本程序運用的萬年歷的計算公式: d=a-1+(a-1)/4-(a-1)/100+(a-1)/400+c; 其中a為年c為該日期在本年中的天數,d取整數,當d/7余數0時是星期天,余數1時是星期壹依此類推。

三、主要知識點:

運用函數調用,if,else函數switch語句。for,while,循環語句。

四、程序清單:

#include <stdio.h>

int m_day(int year,int month)/*此函數是給定年,月,計算此月有多少天.*/

{

if ((year%4==0 &&year%100!=0) ? (year%400==0))

switch(month)

{

case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31;

case 4: case 6: case 9: case 11: return 30;

case 2: return 29;

}

else

switch(month)

{

case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31;

case 4: case 6: case 9: case 11: return 30;

case 2: return 28;

}

}

int main()

{

int year,month;

int i, days=0, d, day=0;

printf ("Enter the year and month:\n");

scanf ("%d %d ", &year, &month );

for (i=1;i<month; i++)

days+=m_day (year,i);

d=year-1+(year-1)/4-(year-1)/100+(year-1)/400+days+1;

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

printf(" Sun Mon Tue Wed Thu Fri Sat\n");

for (i=0;i<d%7;i++)

printf(" ");

for (i=1;i<=7-d%7;i++)

{

day++;

printf("%5d",day);

}

printf("\n");

while(1)

{

for (i=1;i<=7;i++)

{

day++;

if (day>m_day(year,month))

printf("%5d",day);

}

printf("\n");

}

}

五、設計結果說明:

1、設計優點:

程序充分利用所學的C語言知識,運用了函數的調用、循環語句、以及return語句,使得編程更加有條理。簡單易懂,結構清晰,也使得程序的使用更加方便。

2、設計不足:

在編程序時,由於考慮到時間和受所學知識的限制,只能輸入年份、月份,計算得到的是這壹天是星期幾;給定年,月,計算此月有多少天 。而並不能輸入公歷的年月日,輸出農歷年月日以及輸入農歷節氣,輸出當年農歷的年月日及公歷年月日。

  • 上一篇:菌落計數器如何使用?
  • 下一篇:安卓手機模擬器哪個好比較好用的安卓模擬器
  • copyright 2024編程學習大全網