-
#include
class date
public:
date(){
void set(int p1,int p2,int p3)year=p1;month=p2;day=p3;
int year,month,day;
int a=,*p1,*p2,*p3,i=1,k=0;
int main()
int days(date k);
date m,n;
int p1,p2,p3;
cout<<"請輸入年、月、日"<>p1>>p2>>p3;
a[1]=29;
if(p2>12||p3>a[p2-1])cout<<"你犯了乙個錯誤! "<>p1>>p2>>p3;
a[1]=29;
if(p2>12||p3>a[p2-1])cout<<"你犯了乙個錯誤! "cout<<"這一天是一年中的第一天"int days(date k)
int i,c=0;
for(i=0;i<;i++)
c+=a[i];
c+=;return c;
這應該符合您的要求,請參考以下內容。
-
這個問題可以分解為:
從 y1, m1, d1) 到 (y2, m2, d2) 的天數 轉換為 (y1, m1, d1) 到 (1, 1, 1) - (y2, m2, d2) 到 (1, 1, 1)。
至於從(y,m,d)到(1,1,1)的天數,可以參考我的回答包括
int isleapyear(int year)int dayofmonth(int year, int month)
return day;}
int days(int y, int m, int d)//1 - m-1
for(j = 1;j <= m-1;j++)total += dayofmonth(y, j);
total += d;
return total;}
-
告訴年份用於確定它是否是閏年。 ,判斷清楚,根據月數的特點,可以計算出月數和天數。
閏年的確定方法如下(一種複雜而準確的計算方法):
正常年份是可以被 4 整除而不能被 100 整除的閏年。 (例如,2004 年是閏年,1901 年不是閏年) 世紀年是可以被 400 整除的閏年。 (例如,2000 年是閏年,1900 年不是閏年)。
對於乙個有大數的年份,如果它能被 3200 整除,能被 172800 整除,那將是乙個閏年。 例如,172800 是閏年,而 86400 不是閏年(因為雖然可以被 3200 整除,但不能被 172800 整除)(這是 365 天 5h48 的回歸年'''計算)。
在公曆中確定閏年時遵循的一般規則是:四年一次閏,一百年不閏,四百年一次閏。
-
房東想問什麼? 說清楚?。。
-
假設日期在 A1 上
datedif("2017/1/1",a1,"d")+1
或 =a1-"2017/1/1"+1---將單元格格式設定為"常規"
-
輸入年、月、日三個值,先將年前每個月的月數相加,最後相加日期的天數即可得到結果。
1. 演算法設計
1.輸入年、月、日三個值;
2、為了保證方案的穩健性,可以判斷三個值的合法性,只有合法資料才能操作;
3、每個月累計前的天數;
4、累積當前每日價值;
5. 輸出結果。
二、注意事項:
您可以使用陣列來儲存每個月的天數,並將它們相加成乙個迴圈。 重要的是要注意閏年的判斷。 對於閏年,二月會增加一天。
#include
int main()
十二個月中的天數。
int y,m,d,r=0,i;
scanf("%d%d%d",&y,&m,&d);
if(y%400==0 ||y%4==0 &&y %100 != 0))閏年。
mdays[1] = 29;設定閏年的 2 月值。
if(y<0 ||m<=0 ||m>12 ||d<=0 ||d>mdays[m-1]) 無效。
for(i = 0; i < m-1;I++ 累積到前幾個月。
r+=mdays[i];
r+=d;累加日期值。
printf("%d",r);輸出結果。
return 0;}
-
程式不錯,但錯誤在於以下對閏年的判斷對計算結果不起作用,所以只需更改乙個地方:
倒數第二句話將被計算在內。
if(er==1&&month>2);
更改為:if(month>2)。
sum+=er;能。
-
根據標題的含義,可以知道:
第一天是星期二,最後一天也是星期二,這證明這個月是4周,多於一天,總共29天,只能是星期二,一年是閏年,總共366天
所以答案是:29,366
-
2007年不是4的倍數,所以2007年是孝子年,第一天是1月1日,最後一天是12月31日
所以答案是:Ping,1,1,12,31
1.建立乙個新的空白excel;
2.插入測試資料; A列,上行的單元格有資料,中間的空單元格內容為空,用於測試; >>>More