struct tian
{
int year
int month
int day
}
int days(int year,int month,int day)
{
int s=0,i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}
if(year%4==0&&year%100!=0||year%400==0)
a[2]=29
for(i=1i<monthi++)
s+=a[i]
s=s+day
return s
}
void main()
{
int k=0
struct tian a
printf("输入年月日:")
scanf("%d%d%d",&a.year,&a.month,&a.day)
k=days(a.year,a.month,a.day)
printf("%d年%d月%d日是第%d天\n",a.year,a.month,a.day,k)
}
算了,我重改一个,但这个程序只能算出正确结果,不判断输入的年月日是否合法,其中考虑了闰年等问题。#include "iostream.h"
int main()
{
cout<<endl<<"此程序用于计算某日期为当年第几天。"<<endl<<endl
cout<<"请输入一个日期(年月日用空格隔开,前面不要加零):"
int l,y,r
cin>>l>>y>>r//输入一个日期
int tian=0
switch (y)
{
case 12:
tian=tian+30//如果月份是12月,那么加上11月的全部天数。再顺序加上以下的所有月份天数。
case 11:
tian=tian+31//如果月份是11月,那么加上10月的全部天数。再顺序加上以下的所有月份天数。
case 10:
tian=tian+30
case 9:
tian=tian+31
case 8:
tian=tian+31
case 7:
tian=tian+30
case 6:
tian=tian+31
case 5:
tian=tian+30
case 4:
tian=tian+31
case 3:
(l%400==0 || (l%4==0 &&l%100!=0))?(tian=tian+29):(tian=tian+28)
case 2:
tian=tian+31
case 1:
tian=tian+r//最后加上当月的号数。
}
cout<<"此日期为当年第"<<tian<<"天"<<endl
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)