① 求c語言源代碼編寫程序要求1輸入年月份時分秒2輸入增加的分鍾數,輸出輸入的時間及增加分鍾數後的時間
#include <stdio.h>
#include <time.h>
int main()
{
int year,month,day,hour,min,sec;
int add;
time_t timep;
struct tm *p, tmt;
printf("請輸入日期時間,格式為: 年年年年-月月-日日-時時-分分-秒秒\n");
scanf("%d-%d-%d-%d-%d-%d", &year,&month,&day,&hour,&min,&sec);
//year=2016;month=10;day=30;hour=8;min=20;sec=0; // 測試代碼
printf("請輸入增加的分鍾數:\n");
scanf("%d", &add);
//add=1440+1440; //測試代碼
// 列印輸入的時間
printf("%4d %2d %2d %2d %2d %2d\n", year, month, day, hour, min, sec);
tmt.tm_year = year-1900;
tmt.tm_mon = month -1;
tmt.tm_mday = day;
tmt.tm_hour = hour;
tmt.tm_min = min;
tmt.tm_sec = sec;
timep = mktime(&tmt);
timep += add*60;
p = localtime(&timep);
// 列印增加分鍾後的時間
printf("%4d %2d %2d %2d %2d %2d\n", p->tm_year + 1900, p->tm_mon +1, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec);
getchar();
return 0;
}
② 按時分秒的時間表示形式(即hh : mm : ss)鍵盤輸入兩個時間,計算兩個時間之間相差多少小時,
首先,換算成秒。兩個,HH:MM:SS,相對於00:00:00 差了HH*3600+MM*60+SS秒。如果跨了天,那要其它考慮。比如 16:13:12 和09:15:22 相差了( 16*3600+13*60+12)-(9*3600+15*60+22)秒。
然後,我們得到了25070 換成時間 25070/3600 取整。那就是6。
(25070-6*3600)/60=57.8 取整就是57分。
25070-6*3600-57*60=50 秒。
所以相差 6小時57分50秒。
別遲疑了。快開始編程吧。這樣動手能力才能得到加強的哦。
③ c語言:輸入秒數,將它轉換,用小時,分鍾,秒來表示,比如說多少秒變成幾時幾分幾秒
#include<stdio.h>
intmain()
{
inth,m,s;
scanf("%d",&s);
h=s/3600;
m=s/60%60;
s%=60;
printf("%d:%d:%d ",h,m,s);
return0;
}
④ C語言上機題從鍵盤輸入當前時間的時、分、秒值,輸出過一秒後的時、分、秒值。
演算法:時分秒為60進制,遇60進1
代碼:
#include <stdio.h>
int main()
{
int h,m,s;
printf("請輸入時分秒(以:分開):\n");
scanf("%d:%d:%d",&h,&m,&s);
s = s + 1;
if (s == 60) {//60秒,分進1
s = 0;
m = m + 1;
if (m == 60) {//60分,時進1
h = h + 1;
}
}
printf("下一秒為:%02d:%02d:%02d", h, m, s);
;
}
⑤ 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;
}
}
請放心使用
有問題的話請追問
滿意請及時採納,謝謝
⑥ 1. C語言編程,怎麼編寫 時 分 秒 的程序
#include<stdio.h>
int main(){
int hour,minute,second;
printf("請輸入時間:");
scanf("%d:%d:%d",&hour,&minute,&second);
printf("Time:%02d:%02d:%02d\n",hour,minute,second);
return 0;
}
⑦ 用c語言編一個時鍾程序實現時分秒計時功能
#include<stdio.h>
#include<time.h>
int main()
{
time_t t1,t2;
struct tm *ptm;
char timestr[128]={'\0'};
time(&t1);
while(1)
{
time(&t2);
if(difftime(t2,t1)>=1)
{
system("cls");
ptm=localtime(&t2);
strftime(timestr,128,"%H:%M:%S",ptm);
printf("%s\n",timestr);
t1=t2;
}
}
system("PAUSE");
return 0;
}
⑧ c語言中怎麼將時間相加啊,輸入兩組時間,時分秒用空格隔開,輸出的值也用空格隔開
時間相加,判斷起來比較麻煩,也容易出錯,我常用的方法是用mktime先轉換成秒,然後相加或者相減,再把結果轉換成時間就行
⑨ 用c語言,求兩個時間的分鍾數
意思如下:
A時間為15:35
B時間為18:22
把A時間換算成分鍾 15*60+35=935
把B時間換算成分鍾 18*60+22=1102
1102-935=167 間隔167分鍾