一道VC 的題,會的請進

2023-02-28 08:30:21 字數 4508 閱讀 8786

1樓:匿名使用者

我有哦!

演算法是程式設計師雜誌01年的方法,查你郵箱吧

2樓:匿名使用者

我認為如下:(知識思路)

先把固定一天的年月日星期放進去(一個物件)構造然後設計 一個計算閏年的函式

一個計算某天至這個固定天的間隔多少天算出來,然後再除以7,餘下來的再用一個函式判斷.

3樓:匿名使用者

#include

#include

#include

#include

#include

#include "wnl.h"

#define week_startx 4

#define week_starty 4

#define yl_date_startx week_startx

#define yl_date_starty week_starty+2

#define nl_date_startx week_startx

#define nl_date_starty week_starty+3

void main()

根據2023年星期的月份**及星期與月份年份的關係計算

2023年星期的月份**

一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月

1 4 4 0 2 5 0 3 6 1 4 6

從設定**中找規律

平年規律:

有數月**相同:1和10月,2、3和11月,4和7月,9和12月相同,無相同的只有5、6、8月

**變化規律:**相同月份,**數逐年增加

閏年規律(2004為閏年):

有數月**相同:1-4-7,2-8,3-11,9-12

**變化規律:從2月閏日之後有變化,從三月起**+2

int getweek(mydate structyldate)

;int irunniannum, ipingniannum,icalweek;

/*計算平年和閏年數

注意運算:1901-2023年的間隔為0=1901-1900-1;1902-2023年的間隔為1=1902-1900-1*/

irunniannum = (structyldate.iyear - 1900 - 1) / 4;

ipingniannum = structyldate.iyear - 1900 - irunniannum;

icalweek = u_1900_weekcode[structyldate.imonth] + irunniannum * 2 + ipingniannum;

/*如果為閏年,從2月閏日之後有變化,從三月起**+2*/

if (structyldate.imonth > 2)

}icalweek %=7;

return icalweek;

}void printfweekname()

;int i;

printf("\n");

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

printf("\n");

printf("\n");

}void printfday(int istartweekday,mydate structyldate,

mydate structnldate)

}for(i=1;i<42;i++)

printf("%s",nl_monthname[structnldate.imonth]);

if(structnldate.imonthdaynum == 30)

else

}else

structnldate.iday++;

if(structnldate.iday>structnldate.imonthdaynum)

/*x向的偏移量增加*/

offsetx+=10;

if( (i % 7) == 0 )

if(idaynum>imonthday)

}else}}

void getofnonglidate(mydate *structnldate,mydate structyldate)

,tmp1[2]=,runyue[2]=;

int sepdaynum;/*所要計算的日期距本年新年的天數*/

int runyue=0,ifirstflag=1,i;

structyuandandate.iyear=structyldate.iyear;

inityear:

/*得到新年(農曆正月初一)所對應的陽曆日期*/

memset(tmp,0,2);

memcpy(tmp,dalist[structyuandandate.iyear-1900]+14,2);

structyuandandate.imonth = atoi(tmp);

memset(tmp,0,2);

memcpy(tmp,dalist[structyuandandate.iyear-1900]+16,2);

structyuandandate.iday = atoi(tmp);

/*如果要換算陽曆的日期比當年的新年(農曆正月初一)的日期早,則應該根據上一年的資料來

計算農曆的日期,否則以當年的資料為準即可*/

if( structyldate.imonth <= structyuandandate.imonth && ifirstflag ==1 )

else

if( atoi(tmp) == 1)

else

}int getsepdaynum(mydate structyldate0 ,

mydate structyldate1 )

else

}else}}

}/*需要分3種情況進行分析:

1.要求的日期與春節不同年

2.要求的日期與春節同年,不同月

3.要求的日期與春節同年,同月,不同日

*/if(structyldate1.iyear>structyldate0.iyear)/*不同年*/

/*iyear1年足月的天數*/

for(i=1;i 2)}}

else

else/*同年,不同月*/

else

}else

else

structmonthinfo->iday = premonthinfo.iday;

memcpy(tmp,dalist[structmonthinfo->iyear-1900]+structmonthinfo->imonth-1,1);

if(atoi(tmp) == 1)

else

structmonthinfo->imonthisrun = 0;}}

標頭檔案檔案為:

/*天干,地支,屬象,農曆月份名,農曆日期名,陽曆每月的天數*/

unsigned char tianganname[3]=;

unsigned char dizhiname[3]=;

unsigned char shuxingname[3]=;

unsigned char nl_monthname[7]=;

unsigned char nl_dayname[5]=;

int yl_monthdays=;

1900 to 2023年的農曆資料

日期資料定義方法如下

前12個位元組代表1-12月為大月或是小月,1為大月30天,0為小月29天,

第13位為閏月的情況,1為大月30天,0為小月29天,第14位為閏月的月

份,如果不是閏月為0,否則給出月份,10、11、12分別用a、b、c來表

示,即使用16進位制。最後4位為當年家農曆新年-即農曆1月1日所在公曆

的日期,如0131代表1月31日。

unsigned char dalist[18] =;

typedef struct _tagmydate

mydate;

void getofnonglidate(mydate *nldate,mydate yldate);

void printfday(int istartweekday,mydate structyldate,

mydate structnldate);

int getweek(mydate structyldate);

void printfweekname();

int getsepdaynum(mydate structyldate0 ,

mydate structyldate1 );

void getmonthinfo(mydate *structmonthinfo,mydate premonthinfo);

4樓:匿名使用者

不用這麼複雜,有現成的公式可套.

你只要用c++把這個公式表述出來就好了

這麼簡單的程式不用幫寫吧

英語高手請進解答一道題

選項 b.jack s mother s 解析 1.a friend of one s 稱作雙重所有格。1 第一重 由名詞所有格 one s 充當,為了避免重複 one s 後省略了前面提及的 friends,意思是 xx 的 所有朋友 2 第二重 由介詞短語 of 充當所有格,表示 xx 所有朋友...

一道數學題,數學高手請進

底面積是6.28 2 3.14平方釐米 底面半徑是1釐米 高是80 2 1 2 20釐米 表面積是 3.14 1 1 2 3.14 1 2 20 6.28 125.6 131.88平方釐米 我給你一題類似的題目,這類題不用求出底面半徑,只要求出底面半徑平方就行。具體解得方法希望通過下面這題,你能理解...

兩道題,一道數學題,一道聰明屋。。急 會的進

1 因為跑道是環形的,內圈的圓半徑小周長小,越大外圈圓周長越大,所以要保證跑的距離相等,運動員出發位置必須不一樣 2 因為閉上眼睛走路的時候,左腳和右腳落地點會有一個偏差,這個偏差會隨著距離的增加形成一個越來越明顯的弧度,類似一個有圓心的圓,最終會回到原點 第二問,個人認為被蒙上眼之後失去了視力的引...