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(); } } 动手做下看吧 没什么难度