1. C++編程:計算任一年的天數
#include<iostream>
using namespace std
void main()
{
int year;
cout<<"請輸入年份"<<endl;
cin>>year;
if((year % 4 ==0) && (year % 100 !=0) ||(year % 400==0))
cout<<"這一年的天數是366"<<endl;
else
cout<<"這一年的天數是365"<<endl;
}
2. JAVA編程問題:要求編寫一個日歷程序,要求顯示各月的天數和日期.
額 好強大的問題額 代碼太多我就不寫了 提供下思路 首先接收 用戶輸入年份和月份 我們就不計算太遠的了 就從1900年以上的年份開始計算 鄙人查過了1900年的一月一日是 星期一屬於開始日期 接收好數據之後 循環累加 從用戶輸入的年份到1900年的總天數 for(int i = 1900;i<年份;i++){ //記住不能小於等於 因為月份是等下要累加的 if(i%4==0||i%400==0&&i%100!=0){ 潤年:能給四整除或四百整除 但不能被100整除 sum +=366; // += 等價於sum = sum+366; }else{ sum +=365; } } 年份的天數累加好了 接著累加 月份的 先確定下 最後一個月份是不能累加的 因為最後一個月份是要用來顯示的 我們先累加用戶輸入的月之前的 月份總天數 for(int i = 1;i<=月份;i++){ 這里就要小於和等於了 因為.我們不但要計算輸入月份之前的天數 還需要判斷//最後一個月份的天數 switch(i){ case 1: case 3: case 5: case 7: case 8: case 11: day = 31; //大月為 1 3 5 7 8 11 break; case 2: if(i%4==0||i%400==0&&i%100!=0){ day = 28; }else{ day = 29; } break; //也可以用三目演算法 day = i%4==0||i%400==0&&i%100!=0? 28: 29; // 此演算法一般只用於判斷倆個 條件 後面要加問號哦 default: day = 30; } switch外面 for循環裡面加入if判斷 if(i<month){ // 這里必須是小於 不包括要輸出的那個月份天數 sum +=day; } 好了 天數累加好了 接著計算星期幾 week = sum%7 +1 這里加呢 是因為 我們計算的 天數之和 並無包括 1900年1月1日的 當天在內 求出了星期幾之後還要加這個判斷 if(week==7){ week = 0; } // 為什麼呢 就是為了下面的格式化日期 System.out.println(星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六); for(int i = 0;i<week;i++){ System.out.print(i+"\t"); } int g; for(int i = 1;i<=day;i++){ g = i + week; //天數加上星期幾 這樣剛好符合日期格式要求 if(g%7==0){ System.out.println(); } } 動手做下看吧 沒什麼難度