❶ 编写程序,输入年月日,输出天数
#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;
}