① 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;
}
}