日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C语言编程题显示日历,C语言日历问题

發布時間:2025/4/5 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言编程题显示日历,C语言日历问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

已結貼√

問題點數:10?回復次數:3

C語言日歷問題

我是C語言初學者,在論壇上看到一篇日歷程序(我稍微改動了下)。

現在顯示的月份是1,2...12,怎樣能變成顯示是Jan,Feb...這樣的。

還有就是能不能請大神說下這個程序的設計思路。

#include

void main()

{

int firstday(int year);

int sw,leap,i,j,k,wd,day;

int date[12][6][7];?????????//定義一個三維數組 分別對應 月、周、日

char title[] = "SUN MON TUE WED THU FRI SAT";

int day_tab[][12] = {

{31,28,31,30,31,30,31,31,30,31,30,31},

{31,29,31,30,31,30,31,31,30,31,30,31}

};????????//平年和閏年的月份天數

int year;

printf("請輸入年份:");

scanf("%d",&year);

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

sw = firstday(year);????????//計算這一年的第一天是星期幾

leap = (year%4 ==0 && year%100 != 0) || year%400 ==0;?????? //閏年

for( i=0; i<12; i++ )

for( j=0; j<6; j++)

for( k=0; k<7; k++)

date[i][j][k] = 0;???//將所有的日期都歸零

for( i=0; i<12; i++)

for( wd=0,day=1; day<=day_tab[leap][i]; day++)

{

date[i][wd][sw] = day;

sw = ++sw%7;

if(sw == 0)

wd++;

}

for( i=0; i<6; i++)

{

for(wd=0,k=0;k<7;k++)?????????????????? //將同一行的天數相加

wd = wd + date[i][5][k] + date[i+6][5][k];

wd=wd>0? 6:5;

printf("\n");

printf("???%d????????????????????????????????? %d\n",i+1,i+7);

printf("???___________________________?????? ___________________________\n");

printf("???%s?????? %s???\n",title,title);

for(j=0;j

{

printf("??");

for( k=0; k<7; k++)

if(date[i][j][k])

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

else printf("??? ");

printf("??????");

for( k=0; k<7; k++)

if(date[i+6][j][k])

printf("%4d",date[i+6][j][k]);

else printf("??? ");

printf(" \n");

}

}

}

/*計算該年份第一天是星期幾*/

int firstday(int year)

{

int leap(int ye);

int i;

long int n;

n = year*365;

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

if(leap(i))

n += 1;

return (n%7);

}

int leap(int ye)

{

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

return 1;

else

return 0;

}

總結

以上是生活随笔為你收集整理的C语言编程题显示日历,C语言日历问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。