分析如下:求它是第几天,首先应了解1、3、5、7、8、10、12月为31天;4、6、9、11月为30天;关键是2月份的天数要根据这一年是平年还是闰年(通过if语句来判断);设年year、月month、日day.通过输入年月日,根据switch语句来判断这一月之前有多少天再加上日就是这一年的第几天。
编程如下:
# include
int main ( )
{
int year,month,day,days=0,i,d;
printf("请输入年、月、日:\n");
scanf("%d,%d,%d",&year,&month,&day);
for(i=1;i
switch(i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: d=31;break;
case 4:
case 6:
case 9:
case 11: d=30;break;
case 2: if(year%4==0&&year%100==!0||year%400==0)
d=29;
else d=28;
}
days+=d;
}
printf("%d年%d月%d日是这一年的第%d天.\n",year,month,day,days+day);
printf("\n");
return 0;
}
谢谢了!希望对你又帮助。
//输入年月日,输出该天在该年是第几天
#include
#include
#include
int main()
{
int year,month,day,value=0,array[11]={31,28,31,30,31,30,31,31,30,31,30};
//控制输入年月日的代码部分(考虑输入有误情况)
cout<<"请输入年: "<
while(year<=0)
{
cout<<"\t\t你所输入的年份有误!请重新输入: ";
cin>>year;
}
cout<<"请输入月: "<
while((month>12)||(month<1))
{
cout<<"\t\t你所输入的月份有误!请重新输入: ";
cin>>month;
}
cout<<"请输入日: "<
while((day>31)||(day<1))
{
cout<<"\t\t你所输入的日期有误!请重新输入: ";
cin>>day;
}
system("cls");
//判断该年份是否为闰年,若为闰年则二月为29天。
if((year@0==0)||((year%4==0)&&(year0!=0)))
array[1]=29;
//求天数代码
for(int i=0;i
value=value+day;
//控制输出代码部分
cout<<"\t\t结果为: "<
return 0;
}
#include
int main()
{
int year,month,day,i;
int s=0,a[13]; //s用于记录是第几天。
a[1]=a[3]=a[5]=a[7]=a[8]=a[10]=a[12]=31;
a[4]=a[6]=a[9]=a[11]=30;
printf("please input year month day(2008 3 1):");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0) a[2]=29;
else a[2]=28;
for(i=1;i
s+=day;
printf("No %d day.\n",s);
return 0;
}
运行情况如下:
please input year month day(2008 3 1):2008 3 1 --->2008 3 1表示2008年3月1日
No 61 day. --->表示2008年3月1日是这年的第61天。
直接要代码的,忽略