你的這段代碼有問題,for(i=1;im;i++)
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)山亭免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
{m=month(m,y);
sum=sum+m;}你這樣寫,就是將月份重復(fù)的加了,如果是三月份,你將會發(fā)現(xiàn)你加了好多次,自然就會出現(xiàn)800多天了,下面我將代碼改進,答案也是對的。
#include stdio.h
#include math.h
int year(int year);
int month(int month,int year);
void main()
{
int y,m,d,sum,i,n;
printf("請輸入年月日\n");
scanf("%d%d%d",y,m,d);
y=year(y);
sum=0;
n=0;//定義一個n,用于每個月份天數(shù)相加
for(i=1;im;i++)
{
n=month(m,y);//將你的m替換為n,結(jié)果就對了
sum=sum+n;
}
sum=sum+d;
printf("是第%d天",sum);
}
int year(int year)
{
if( (year%4==0 year%100!=0) || (year%400==0) )?
return (366);??
else return (365);
}
int month(int month,int year)
{
switch(month)
{
case 1:???
case 3:
case 5:?
case 7:
case 8:
case 10:
case 12:
return (31);
break;
case 2:
{
if (year==366)
return(29);
else return(28);
break;
}
default: return(30);
break;
}
}
如果用 time.h的話,就太簡單了,有專門的處理函數(shù):
#include?"time.h"
#include?"stdio.h"
void?puttime()
{
tm?*ptr;
time_t?lt;
lt=time(NULL);
ptr=localtime(lt);
printf(asctime(ptr));
}
int?main()
{
puttime();
return?0;
}
什么時候運行,就顯示是什么時間:
我運行時:星期三 ? 1月 ? 15號 ? ? 時間 ? 年
/*輸入時請注意格式和實際月份*/
#include?iostream
int?day(int?year,?int?month);
int?main()
{
int?year{};
int?month{};
std::cout??"請輸入年和月(空格隔開):";
std::cin??year??month;?
std::cout??"該月天數(shù):"??day(year,?month)??'\n';?
return?0;
}
int?day(int?year,?int?month)
{
int?t{};
if(month?==?1?||?month?==?3?||?month?==?5?||?month?==?7?||?month?==?8?||?month?==?10?||?month?==?12)
t?=?31;
else?if(month?==?2)
{
if((year?%?4?==?0??year?%?100?!=?0)?||?(year?%?400?==?0))
t?=?29;
else
t?=?28;
}
else
t?=?30;
return?t;
}
#includestructdate//定義結(jié)構(gòu)體類型{inty;intm;intd;};voidmain(){datedt;//定義結(jié)構(gòu)體變量inti,count,mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf("請輸入日期(年月日):");scanf("%d",dt.y);scanf("%d",dt.m);scanf("%d",dt.d);count=dt.d;//把dt.d計入總天數(shù)for(i=0;i2(dt.y%4==0dt.y%100!=0||dt.y%400==0))count+=1;//如果是閏年,則要把3月份和3月份以后的總天數(shù)加1printf("這一日是這一年的第%d天\n",count);}
分享名稱:C語言用函數(shù)輸出年月日 c語言輸入年月輸出日歷
新聞來源:http://muchs.cn/article48/doccdep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、定制網(wǎng)站、微信公眾號、搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)