❶ 編寫程序,輸入年月日,輸出天數
#include<iostream>
using namespace std;
int main()
{
int year,month,day;
int days=0,i;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //定義一個數組 用來存放每個月的天數
cout<<"請輸入年月日,比如2014 12 9"<<endl;
cin>>year>>month>>day;
for(i=1;i<month;i++) //天數相加
{
days=days+a[i];
}
days=days+day;
if((((year%4==0)&&(year%100!=0))||(year%400==0))&&month>=3) //若是閏年的情況 月份在二月之後 天數加1
{
days=days+1;//daya+=1
}
cout<<month<<"月"<<day<<"月是"<<year<<"年中的第"<<days<<"天"<<endl; //輸出月 天數。
return 0;
}
❷ c語言輸入年份和天數,輸出月份和日期,如何寫啊,各為大俠幫幫忙吧,thanks,急!!
#include<stdio.h>
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int numble(int year,int m,int d)
{
int sum=0,i,j,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
if(leap(year)==1)
for(i=0;i<m-1;i++)
sum+=b[i];
else
for(i=0;i<m-1;i++)
sum+=a[i];
for(j=2000;j<year;j++)
if(leap(j)==1)
sum+=366;
else
sum+=365;
sum+=d;
return sum;
}
void main()
{
int year,month,day,n;
printf("pleass input year,month,day\n");
scanf("%d%d%d",&year,&month,&day);
n=numble(year,month,day);
if((n%5)<4&&(n%5)>0)
printf("%d%d%d is fishing\n",year,month,day);
else
printf("%d%d%d is bask\n",year,month,day);
}
/*這個是漁夫三天打魚,兩天曬網的問題。你的問題和這個差不多。你先看看能不能給你提示解決你的問題。不能的話我在把它改改。*/
❸ c語言;輸入一個年份,輸出該年各月份天數以及總天數。
#include <stdio.h>
main()
{
int i,year,month[12] ={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d",&year);
if((year%4==0)&&(year%100!=0)||(year%400==0))month[1]++;year=0;
for (i=0;i<12;i++)
printf("month[%d]:day[%d] ",i+1,month[i]),year+=month[i];
printf("year:[%d]days ",year);
}
❹ C語言輸入年份和天數輸出對應的年月日
C語言輸入年份和天數輸出對應的年月日的源代碼如下:
#include<iostream>
intday(int&year,int&month);
intmain()
{
intyear{};
intmonth{};
std::cout<<"請輸入年和月(空格隔開):";
std::cin>>year>>month;
std::cout<<"該月天數:"<<day(year,month)<<' ';
return0;
}
(4)c語言輸入分鍾得到年和天數擴展閱讀
1、C++ 標准庫沒有提供所謂的日期類型。C++ 繼承了 C 語言用於日期和時間操作的結構和函數。為了使用日期和時間相關的函數和結構,需要在 C++ 程序中引用 <ctime> 頭文件。
2、有四個與時間相關的類型:clock_t、time_t、size_t和tm。類型 clock_t、size_t 和 time_t 能夠把系統時間和日期表示為某種整數。
❺ c語言 輸入一個時間(年、月、日、時、分、秒),判斷時間是否合法,輸出下一秒的時間
#include<stdio.h>
int year = 0;
int month = 0;
int day = 0;
int hour = 0;
int minute = 0;
int second = 0;
int main()
{
void inputDate(); /*輸入年-月-日 時:分:秒*/
void nextSceond(); /*計算下一秒的時間*/
int leapYear(int year); /*判斷是否為閏年*/
int dayMonth(int month); /*返回每個月份對應的天數*/
inputDate();
leapYear(year);
dayMonth(month);
nextSceond();
system("PAUSE");
return 0;
}
/*函數inputDate()輸入年-月-日 時:分:秒*/
void inputDate()
{
int loop;
for(loop = 0; loop < 3; loop++)
{
printf("請輸入年-月-日 時:分:秒:");
scanf("%d-%d-%d %d:%d:%d", &year, &month, &day, &hour, &minute, &second);
if(month < 1 || month > 12)
{
printf(" 月份輸入錯誤! ");
continue;
}
else if(day < 1 || day > dayMonth(month))
{
printf(" 日期輸入錯誤! ");
continue;
}
else if(hour < 0 || hour > 23)
{
printf(" 小時輸入錯誤! ");
continue;
}
else if(minute < 0 || minute > 59)
{
printf(" 分鍾輸入錯誤! ");
continue;
}
else if(second < 0 || second > 59)
{
printf(" 秒數輸入錯誤! ");
continue;
}
else
{
break;
}
}
}
/*函數nextSecond()計算下一秒的時間*/
void nextSceond()
{
if(59 == second)
{
minute += 1;
second = 0;
if(60 == minute)
{
hour += 1;
minute = 0;
if(24 == hour)
{
day += 1;
hour = 0;
if(day > dayMonth(month))
{
month += 1;
day = 1;
if(13 == month)
{
year += 1;
month = 1;
}
}
}
}
}
else
{
second += 1;
}
printf("%d-%d-%d %d:%d:%d ",year, month, day, hour, minute, second);
}
/*函數leapYear(int year)判斷是否為閏年*/
int leapYear(int year)
{
if(0 == (year % 4 && 0 != year % 100) || 0 == year % 400)
{
return 1;
}
else
{
return 0;
}
}
/*函數名dayMonth(int month)返回每個月份對應的天數*/
int dayMonth(int month)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
if(0 == (year % 4 && 0 != year % 100) || 0 == year %400)
{
return 29;
}
else
{
return 28;
}
case 4:
case 6:
case 9:
case 11:
return 30;
}
}
請放心使用
有問題的話請追問
滿意請及時採納,謝謝
❻ C語言,輸入年份和天數,輸出日期,只能用純演算法來做,注意,只能使用純演算法,不能使if else之類
您好,我大概的看了一下您的題目,我簡單的寫了一下,寫的不是很好,你就參考一下吧。
下面給出了測試結果。
#include<stdio.h>
bool_IS(intyear)
{
if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))
returntrue;
returnfalse;
}
intmain(void)
{
intmonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
intyear,day_num;
scanf("%d%d",&year,&day_num);
intcount=0;
if(_IS(year))
month[2]=29;
inty=1,r=0;
for(inti=0;i<=12;++i)
{
if(count+month[i]>=day_num)
{
y++;
break;
}
count+=month[i];
y=i;
}
for(intj=0;count!=day_num;++j,r++)
count++;
printf("%d%d",y,r);
}
❼ C語言關於輸出天數
思路應可以這樣:
1。先求出當前的年月日,並求出是平年還是閏年。
2.輸入一年月日後,判別該年是平年還是閏年。
3.如果輸入的年月日在當前的范圍內,則就可以求天數了。(知道閏平的年分就可知月的天數,公歷的閏年平年不是農歷的閏平年)
4。如果輸入的不在當前的年月是的天數內,相減就知有多少年。再分別求相這些年閏年的和與平年的和再加上相減的當前時間,就可得出所要的結果。
當前的年月日時分秒
#include <time.h>
get_time()
{
struct tm *Tm;
time_t t;
time(&t);
Tm = localtime(&t);
printf("%d-%d-%d %d:%d:%d\n",Tm->tm_year+1900,Tm->tm_mon,Tm->tm_mday,Tm->tm_hour,Tm->tm_min,Tm- >tm_sec);
return 0;
}
main()
{ }
❽ C語言:輸入年份和天數,輸出對應的年、月、日
下面是這段代碼,配合注釋體會一下吧
#include <stdio.h>
void MonthDay(int year,int yearDay,int *pMonth,int *pDay);
int main()
{
int year,yearDay,month,day;
scanf("%d%d",&year,&yearDay);//輸入年份和天數
MonthDay(year,yearDay,&month,&day);
printf("%d-%d-%d",year,month,day);
return 0;
}
void MonthDay(int year,int yearDay,int *pMonth,int *pDay)
{
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};//這個數組保存每月的天數
if(year%4==0&&year%100!=0||year%400==0)//判斷是否為閏年
days[1]=29;//閏年的二月有29天
*pMonth=1;//從一月開始看
while(yearDay>days[*pMonth-1])//如果哪一天超出這個月
{
yearDay-=days[*pMonth-1];//求出超出此月的天數
(*pMonth)++;//繼續考慮下一月
}
*pDay=yearDay;
}
❾ c語言輸入一個天數,輸出對應的年月天
#include<stdio.h>
intmain()
{
inti,n=0,year=0,month=0,day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
while(n!=-1)
{
while(n>=360)
{
n-=360;
year++;
}
while(n>=30)
{
n-=30;
month++;
}
while(n>0)
{
n--;
day++;
}
printf("%d年%d月%d日 ",year,month,day);
year=month=day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
}
return0;
}
❿ 【懸賞】程序編寫,輸入年月日和一個天數,再輸出年月日,c語言
#include <stdio.h>
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int year , mon , day , num;
printf("input yyyy/mm/dd:");
scanf("%d/%d/%d" , &year , &mon , &day );
//請確保輸入的數據是有效的日期,不然出錯
//根據年份確定當年是否閏年
if ( (year%4==0 && year %100) || year %400==0 )
days[1]=29; //閏年二月29
else
days[1]=28;//平年二月28
printf( "input days:" );
scanf( "%d" , &num );
//目前只支持正數
day += num ;
while ( day > days[mon-1] ) //天數超過當前月最大天數,要過月
{
day -= days[mon-1] ;
mon += 1 ;
if ( mon > 12 ) //月滿則變年
{
mon=1;
year += 1 ; //年變後,要重新確認下一年是否閏年
if ( (year%4==0 && year %100) || year %400==0 )
days[1]=29;
else
days[1]=28;
}
}
printf("new day:%d/%d/%d\n" , year , mon , day );
return 0;
}