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!!