① c语言年月日一年中第几天
首先,定义一个数组,数组里面有12个数据,对应每个月有多少天,
比如{31,28,31,30……}
然后当拿到输入的年月日的时候,判断当前年份是否为润年,
如果是闰年的话,改变一下2月的天数
然后在判断月份
比如是5月份
那就for循环那个数组4次
数组里面的数据相加
然后在加上日期就好了
额,因为我是oc的,C语音基础不是很好,
不过大概就是这个思路……
② C语言求一年第几天
switch(){
//你的少了大括号
}
③ C语言中输入一个日期计算他是今年的第几天
输入年月日三个值,先累加该年之前各个月的每月天数,最后累加日期天数即可获取结果。
一、算法设计:
1、输入年月日三个值;
2、为保证程序健壮性,可以对三个值的合法性进行判断,只对合法数据进行操作;
3、累加之前各月天数;
4、累加当前日值;
5、输出结果。
二、注意点:
可以使用数组存储各个月份的天数,用循环累加。需要注意的是闰年的判断。对于闰年,2月要多加一天。
三、参考代码:
#include<stdio.h>
intmain()
{
intmdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};//十二个月的天数。
inty,m,d,r=0,i;
scanf("%d%d%d",&y,&m,&d);
if(y%400==0||(y%4==0&&y%100!=0))//闰年。
mdays[1]=29;//设置闰年二月值。
if(y<0||m<=0||m>12||d<=0||d>mdays[m-1])//输入非法。
{
printf("输入年月日不合法 ");//提示并退出。
return-1;
}
for(i=0;i<m-1;i++)//累加之前各个月。
r+=mdays[i];
r+=d;//累加日期值。
printf("%d ",r);//输出结果。
return0;
}
④ c语言,求今年第几天
#include<stdio.h>
voidmain()
{
intyear,month,day,i,d=0;
inta[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d-%d-%d",&year,&month,&day);
if((year%4==0&&year%100)||year%400==0)a[2]=29;
for(i=0;i<month;i++)
d+=a[i];d+=day;
printf("%d年的第%d天",year,d);
}
⑤ c语言编程输入第几天,计算第几月几日
#include <stdio.h>
main()
{
int year,day,d,m,leap;
int i;
int Month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("输入年份和这一年的第多少天:\n");
scanf("%d",&year);
scanf("%d",&day);
if( (year%4!=0) ||( (year%100==0)&& (year%400!=0)))
leap=0;//不是闰年
else
leap=1;//是闰年
if(leap==1)
Month[1]=29;//闰年二月29天
m=1;
for(i=0;i<12;i++)
{
d=day-Month[i];
if(d>0)
{
day=d;
m++;//月数加1
}
else
{
d = d+Month[i];
break;
}
}
printf("The date is:%d年%d月%d日",year,m,d);
}
⑥ c语言关于一年第几天的问题
#include<stdio.h>
void main()
{ int year,month,day,days,i,;
printf("请输入年,月,日:");
scanf("%d,%d,%d",$year,$month,&day);
days=0;
for(i=0;i<month;i++)
{ switch(i)
{ case 1:case 3:case 5: case 7:case 8:case 10;case 13 :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)
}
⑦ C语言编程计算该日期是该年第几天
首先判断是否闰年,是闰年的话2月有29天否则就只有28天,然后将前面的月份的天数加起来再加上本月天数就可以得到该日期是该年第几天了
⑧ C语言,输入一个日期,计算该日是当年的第几天
其实你这个题有两个错误,一个就是&,在C语言中,&是地址符,也就是说,最后输出的是d的地址,
在输入时需要&,就是需要地址才能找到存储的地方,在输出时则不需要,
你只要把&在输出的地方去掉就好
第二个就是你在判断师傅闰年时,这时候y的值你还没打进去,没有赋值,这样当然会错,下面是修改后的,你参考下,有不懂的请追问
#include <stdio.h>
main()
{int y,m,d,T;
printf("请输入年,月,日\n");
scanf("%d,%d,%d",&y,&m,&d);
if((y%4==0&&y%100!=0)||(y%400==0))
{ T=31+29;}
else
{T=31+28;}
switch(m)
{
case 1:printf("该日是本年的%d天。\n",d);break;
case 2:printf("该日是本年的%d天。\n",d+31);break;
case 3:printf("该日是本年的%d天。\n",d+T);break;
case 4:printf("该日是本年的%d天。\n",d+T+31);break;
case 5:printf("该日是本年的%d天。\n",d+T+31+30);break;
case 6:printf("该日是本年的%d天。\n",d+T+31*2+30);break;
case 7:printf("该日是本年的%d天。\n",d+T+31*2+30*2);break;
case 8:printf("该日是本年的%d天。\n",d+T+31*3+30*2);break;
case 9:printf("该日是本年的%d天。\n",d+T+31*4+30*2);break;
case 10:printf("该日是本年的%d天。\n",d+T+31*4+30*3);break;
case 11:printf("该日是本年的%d天。\n",d+T+31*5+30*3);break;
case 12:printf("该日是本年的%d天。\n",d+T+31*5+30*3);break;
}
}