【解题思路】本题的难点主要就是判断是否闰年和大小月份,判断闰年的标准是能被4整除且不能被100整除的年份,或者能被400整除的年份是闰年。至于大小月,则可以通过一个switch……case语句来实现。具体代码如下:
【程序代码】
#include//控制台操作头文件
int main() //主函数
{int y,m,d; //变量声明
do{printf("请输入年份(0退出):"); //提示输入年份
scanf("%d",&y); //从键盘输入年份
if(y==0) //如果输入0结束程序
{printf("程序结束\n"); //显示结束提示
break;} //终止循环,结束程序
printf("请输入月份:"); //提示输入月份
scanf("%d",&m); //从键盘输入月份
if(y<0||m<1||m>12) //如果年月输入有误
{printf("年月输入有误,请重试\n"); //显示错误提示
continue;} //进入下轮循环,重新输入
switch(m) //以月份确定本月天数
{case 12:d=31;break;
case 11:d=30;break;
case 10:d=31;break;
case 9: d=30;break;
case 8: d=31;break;
case 7: d=31;break;
case 6: d=30;break;
case 5: d=31;break;
case 4: d=30;break;
case 3: d=31;break;
case 2: if((y%4==0&&y%100!=0)||
(y%400==0)) d=29; //闰年29天
else d=28; //非闰年28天
break;
case 1: d=31;break;}
printf("本月共有%d天\n\n",d); //显示本月天数
}while(1);
system("PAUSE"); //屏幕暂停
return 0; //结束程序
}
【程序代码】
以上代码DEV C++运行通过。
#include
void main()
{
int year,month;
cout<<"请输入年份和月份:"<
if(year%4==0&&year%100!=0||year%400==0)
cout<
cout<
{
if(year%4==0&&year%100!=0||year%400==0)
cout<
cout<
else
if(month==4||month==6||month==9||month==11)
cout<
cout<
#include
void
main()
{
int
year,month;
cout<<"请输入年份和月份:"<
if(year%4==0&&year%100!=0||year%400==0)
cout<
cout<
{
if(year%4==0&&year%100!=0||year%400==0)
cout<
cout<
else
if(month==4||month==6||month==9||month==11)
cout<
cout<