c++题目 高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/06 01:47:35
#include <stdio.h>
void main()
{
int year;
int month;
int day;
int days =0;

printf("请输入年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
printf("请输入日期:");
scanf("%d",&day);

switch(month-1)
{
case 11:
days+=30;
case 10:
days+=31;
case 9:
days+=30;
case 8:
days+=31;
case 7:
days+=31;
case 6:
days+=30;
case 5:
days+=31;
case 4:
days+=30;
case 3:
days+=31;
case 2:
if(year%400==0||(year%4==0&&year%100!=0))
{
days+=29;
}
else
{
days+=28;
}
case 1:
days+=31;
case 0:
days+=day;
break;
default:
printf("输入的月份有错\n");
}
printf("%d年%d月%d日是这一年的第%d天\n",year,month,day

这位,你这个题不是C++吧,是C语言,days+这句应day吧,我帮你把这个程序再弄一下吧。大意应是这个意思,你看一下:
#inlcude"stdio.h"
main()
{
int year,month,days;
printf("年.月:\n");
scanf("%4d,%2d",&year,&month);
switch(month)
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:days=31;
break;
case 4:
case 6:
case 9:
case 11:days=30;
break;
case 2:if (year%4==0 && year%100!=0||year%100==0 && year%400==0)
days=29;
else
days=28;
}
printf("%d年,%d月的天数为%d\n",year,month,days);

}
这个题到此结束了,如果你是位想学习的同学,真诚的我想与你交个朋友,在此我留下我的QQ:231692991
提示信息你就写一个朱字吧,因为我姓朱。 OK!

x+=y中的+=这是一个操作符,它等效于x=x+y,楼主明白了吗。
与此相似的还有
-= x=x-y
*= x=x*y
/= x=x/y
|= x=x|y
&= x=x&y
^= x=x^y
>>= x=x>>y
<<= x=x<<y
%= x=x%y

你的程序里最好再输入日期后再加一句值域判断,不要把-1或32日这种