2. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。(C语言编程题)
答案:4 悬赏:0 手机版
解决时间 2021-04-02 02:24
- 提问者网友:戎马万世
- 2021-04-01 09:46
2. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。(C语言编程题)
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-04-01 10:59
分析如下:求它是第几天,首先应了解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
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;
}
谢谢了!希望对你又帮助。追问你学的也是清华大学出版的书吧?谭教授主编的?追答是啊
全部回答
- 1楼网友:人類模型
- 2021-04-01 14:56
直接要代码的,忽略
- 2楼网友:拜訪者
- 2021-04-01 13:57
#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+=a[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天。
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天。
- 3楼网友:由着我着迷
- 2021-04-01 12:37
//输入年月日,输出该天在该年是第几天
#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<<"请输入年: "< cin>>year;
while(year<=0)
{
cout<<"\t\t你所输入的年份有误!请重新输入: ";
cin>>year;
}
cout<<"请输入月: "< cin>>month;
while((month>12)||(month<1))
{
cout<<"\t\t你所输入的月份有误!请重新输入: ";
cin>>month;
}
cout<<"请输入日: "< cin>>day;
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=array[i]+value;
value=value+day;
//控制输出代码部分
cout<<"\t\t结果为: "< getch();
return 0;
}追问大哥你这答案有问题啊,你试了没?我一运行你那答案就又errors!不好意思了,而且你这答案耶太复杂了吧追答...有更简单的吗?追问你下面的回答就比你简单,而且和我学的非常相似!而且你那里有一些部分看不懂。追答..sorry我这是C++的追问我学的是C语言,不好意思了,拜拜
#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;
}追问大哥你这答案有问题啊,你试了没?我一运行你那答案就又errors!不好意思了,而且你这答案耶太复杂了吧追答...有更简单的吗?追问你下面的回答就比你简单,而且和我学的非常相似!而且你那里有一些部分看不懂。追答..sorry我这是C++的追问我学的是C语言,不好意思了,拜拜
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯