急求分支结构设计输入某年某月,判断这一天是这一年的第几天 用C语言程序,请各位大神帮帮忙,谢谢了

输入某年某月某日,判断这一天是这一年的第几天 VC++
2025-03-09 13:31:22
推荐回答(2个)
回答1:

问一下,你要的是VC的程序,还是TURBO C 2.0的程序?或者我给你提供解决的思路,你自己来做
我给你个思路吧
1.
int year,mouth,day;
int num[12]={0,31,28,31,30,31,30,31,31,30,31,30};
scanf("%d,%d,%d\n",&year,&mouth,&day);
这三条建立一年每个月要经历日期的表格,第一个月要经过的日期数为0,第二个月为第一个月的天数31,依次后推。并输入年月日数据
int s=0;
for (int i=0;i s=s+num[i]+day; //统计到该日的天数累计

2。
闰年判断
if ((year/4==int(year/4) ) && (year/100!=int(year/100)) ||(year/400==int(year/400)) && mouth>2)
s++; //如果满足以下规则的为闰年
//该年份数能被4整除,但不能被100整除,再加上能被100整除中能能 //被400 整除的也是闰年
//闰年,如果输入的月份数为3月份以上(包括3月份),则在总日期累计上加一天

print s ; //输出第几天

回答2:

#include
int main()
{
int N,y,R,i;
int sum;
int str[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
while(scanf("%d/%d/%d",&N,&y,&R)!=EOF)

{
sum=0;
i=y-1;
for(;i>=0;i--)
{
sum=sum+str[i];
}
if(N%400== 0||((N%4==0)&&(N%100!=0)))
{
if(y>2)
printf("%d\n",sum+R+29);
else
printf("%d\n",sum+R);
}
else
{
if(y>2)
printf("%d\n",sum+R+28);
else
printf("%d\n",sum+R);
}

}
return 0;
}