c语言输入时间
① c语言 怎么输入YYYY/MM/DD这种格式的日期
可以参考下面的代码:
#include<stdio.h>
main()
{inty,m,s;
while(1){
scanf("%d/%d/%d",&y,&m,&s);
printf("%d--%d--%d ",y,m,s);
}
}
(1)c语言输入时间扩展阅读:
C语言isupper()函数:判断专一个字符是否是大写属字母
C语言isspace()函数:判断一个字符是否是空白符
C语言isprint()函数:判断一个字符是否是可打印字符
C语言islower()函数:判断一个字符是否是小写字母
C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值
C语言frexp()函数:提取浮点数的尾数和指数部分
C语言modf()函数:提取浮点数的小数和整数部分
② 用c语言完成输入一个日期,输出下一天
p是一个指向存储日期内存的指针。
函数将返回延时hh小时mm分后的日期
unsigned char* Nexttime(unsigned char*p,unsigned char hh,unsigned char mm)
{
unsigned char time1[7]; //0 1 2 3 4 5 6
//年 周 月 日 时 分 秒
static unsigned char time2[7];
unsigned char i,month,day,hour;
for(i=0;i<7;i++)
time1[i]=*p++;
i=0;
time2[6]=time1[6];
if((mm+time1[5])>59) i=1;
time2[5]=mm+time1[5]-i*60;
hour=hh%24+time1[4]+i;
i=0;
if(hour>23)i=1;
time2[4]=hour-i*24;
day=hh/24+time1[3]+i;
i=0;
if(day<=28) {month=time1[2];time2[3]=day;}
else if(day==29){
if((time1[0]%4!=0)&&(time1[2]==2)){month=time1[2]+1;time2[3]=1;}
else {month=time1[2];time2[3]=day;}
}
else if(day==30){
if((time1[0]%4!=0)&&(time1[2]==2)){month=time1[2]+1;time2[3]=2;}
else if((time1[0]%4==0)&&(time1[2]==2)){month=time1[2]+1;time2[3]=1;}
else {month=time1[2];time2[3]=day;}
}
else if(day==31){
if((time1[0]%4!=0)&&(time1[2]==2)){month=time1[2]+1;time2[3]=3;}
else if((time1[0]%4==0)&&(time1[2]==2)){month=time1[2]+1;time2[3]=2;}
else if(4==time1[2]||6==time1[2]||9==time1[2]||11==time1[2]){month=time1[2]+1;time2[3]=1;}
else {month=time1[2];time2[3]=day;}
}
else if(day<=40){
if((time1[0]%4!=0)&&(time1[2]==2)){month=time1[2]+1;time2[3]=day-28;}
else if((time1[0]%4==0)&&(time1[2]==2)){month=time1[2]+1;time2[3]=day-29;}
else if(4==time1[2]||6==time1[2]||9==time1[2]||11==time1[2]){month=time1[2]+1;time2[3]=day-30;}
else {month=time1[2]+1;time2[3]=day-31;}
}
else { for(i=0;i<7;i++) time1[i]=0; return time2;}
if(month==13) {time2[2]=1;time2[0]=time1[0]+1;}
else {time2[2]=month;time2[0]=time1[0];}
return time2;
}
③ 关于C语言中,如何对时间进行输入,处理和输出。
#include <stdio.h>
#include <windows.h>
int main()
{
SYSTEMTIME Stime,Etime;
GetLocalTime(&Stime);//取得开始计时时间
Sleep(5000);//停5秒
GetLocalTime(&Etime);//结束计时时间
//结束减去开始就是间隔了
printf("间隔:%d分%d秒\n",Etime.wMinute-Stime.wMinute,Etime.wSecond-Stime.wSecond);
return 0;
}//本程序是调用WindowsAPI实现的
④ c语言:输入一个日期,求输入日期三天后的日期
#include<Windows.h>
//包含此文件是要用到MessageBeep(0)这个函数在输入错误时发出声音提示,若不需要可将这个头文件和MessageBeep(0)删掉
#include<iostream>
using namespace std;
//定义日期类
class Cdate
{ int year,month,day;
public:
Cdate(int x=1,int y=1, int z=1):year(x),month(y),day(z){}//带默认值的构造函数
~Cdate(){}
void SetDate();
void AddDate();
void ShowDate();
};
//设置日期函数
void Cdate::SetDate()
{cout<<"请按日月年的格式输入日期:"<<endl;
cin>>day>>month>>year;
start:
if(month<1||month>12)
{MessageBeep(0 );
cout<<"输入错误!请按日月年的格式重新输入日期:"<<endl;
cin>>day>>month>>year;goto start;}
if(day<1||day>31)
{MessageBeep(0 );
cout<<"输入错误!请按日月年的格式重新输入日期:"<<endl;
cin>>day>>month>>year;goto start;}
if (month==2)
if(year%4==0&&year%100!=0||year%400==0)
{if(day>29&&day<32)
{MessageBeep(0 );
cout<<"输入错误!请按日月年的格式重新输入日期:"<<endl;
cin>>day>>month>>year;goto start;}
}
else
{if(day>28&&day<32)
{MessageBeep(0 );
cout<<"输入错误!请按日月年的格式重新输入日期:"<<endl;
cin>>day>>month>>year;goto start;}
}
}
//日期加三函数
void Cdate::AddDate()
{
switch(month)
{case 1:if (day<=28)
day+=3;
else {month+=1;day=day+3-31;}
break;
case 2: if(year%4==0&&year%100!=0||year%400==0)
{
if (day<=26)
day+=3;
else {month+=1;day=day+3-29;}
}
else
{
if (day<=25)
day+=3;
else {month+=1;day=day+3-28;}
}
break;
case 3:if (day<=28)
day+=3;
else {month+=1;day=day+3-31;}
break;
case 4:if (day<=27)
day+=3;
else {month+=1;day=day+3-30;}
break;
case 5:if (day<=28)
day+=3;
else {month+=1;day=day+3-31;}
break;
case 6:if (day<=27)
day+=3;
else {month+=1;day=day+3-30;}
break;
case 7:if (day<=28)
day+=3;
else {month+=1;day=day+3-31;}
case 8:if (day<=28)
day+=3;
else {month+=1;day=day+3-31;}
break;
case 9:if (day<=27)
day+=3;
else {month+=1;day=day+3-30;}
break;
case 10:if (day<=28)
day+=3;
else {month+=1;day=day+3-31;}
break;
case 11:if (day<=27)
day+=3;
else {month+=1;day=day+3-30;}
break;
case 12:if (day<=28)
day+=3;
else {year+=1;month=1;day=day+3-31;}
break;
}
}
//显示日期函数
void Cdate::ShowDate()
{
cout<<"日期为:"<<endl;
cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
}
int main()
{
Cdate d;
d.SetDate();
d.AddDate();
d.ShowDate();
return 0;
}
⑤ c语言输入一个年月日,要求输出这一天是该年的第几天
第1个:i<=12
第2个:break;
第3个:d=30;break;
第4个: (year%4!=0) || (year%100==0&&year%400!=0)
第5个:days
⑥ C语言 从键盘输入时间,输出对应提示:
#include<stdio.h>
#include<string.h>
intmain()
{inth,m;
chars[5];
printf("请输入时间hh:mm");
scanf("%d%*c%d",&h,&m);
if(h<0||h>23||m<0||m>59)printf("timeerror!
");
elseif(h<5||h==5&&m==0)strcpy(s,"凌晨");
elseif(h<8||h==8&&m==0)strcpy(s,"早上");
elseif(h<11||h==11&&m==0)strcpy(s,"上午");
elseif(h<13||h==13&&m==0)strcpy(s,"中午");
elseif(h<18||h==18&&m==0)strcpy(s,"下午");
elsestrcpy(s,"晚上");
printf("%s好!现在是%s
",s,s);
return0;
}
⑦ C语言怎么把系统时间输出出来
代码如下:(还有其他时间函数类型,有需要再问)#include"stdio.h"
#include"time.h"
int main()
{
time_t t;
time(&t);
printf("%s",ctime(&t));
return 0;
}
⑧ c语言的一道题,输入现在的时间,再输入经过xx分钟,输出经过xx分钟后的时间
#include<stdio.h>
intmain()
{
inth,m,t;
printf("请输入现在时间,格式如9:30 ");
scanf("%d:%d",&h,&m);
printf("请输入经过的分钟数");
scanf("%d",&t);
printf("经过%d分钟以后的时间是%d:%d",t,(h*60+m+t)/60%24,(m+t)%60);
return0;
}
//运行示例:
⑨ 怎么用C语言输入一个日期,求该日期是该年的第几天
我大概给个思路,代码是现写的 没调试
先定义每个月的天数,2月按28天算
输入年月日后,根据年判断是否闰年(闰年加1天),再从1月加到当月的前一月,再加上日期就可以了
#include <stdio.h>
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
main()
{int yy,mm,dd, days;
int i;
printf("input year:"); scanf("%d", &yy);
printf("input month:"); scanf("%d", &mm);
printf("input day:"); scanf("%d", &dd);
/* 如果大于2月,要做闰年的判断,忘了,不一定准 */
if( mm > 2 && ((year%4==0 && year%100!=0) || year%400==0) ) days = 1;
else days = 0;
/* 加上前面各整月的天数 */
for(i = 0; i < mm-1; i++) days += month[i];
/* 加上日数 */
days += dd;
printf("This is the %d day of year %d!!
", days, yy);
}
比如输入 1999 2 1
应该输出:This is the 32 day of year 1999!!