當前位置:首頁 » 編程語言 » 24小時c語言講解
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

24小時c語言講解

發布時間: 2022-07-28 19:03:36

『壹』 c語言作業,求高手幫助!!!!!從鍵盤輸入24小時制的某個時間,計算並輸出其前一秒和後一秒的時間。

#include <stdio.h>
void main()
{
char time[8];
int h=0,m=0,s=0;

scanf("%s",time);

h=(time[0]-'0') * 10 + time[1]-'0';
m=(time[3]-'0') * 10 + time[4]-'0';
s=(time[6]-'0') * 10 + time[7]-'0';

int h1,h2,m1,m2,s1,s2;
int flag=0;

s1 = (s+60-1)%60;
if(s-1<0)
{
flag=1;
}

m1 = (m+60-flag)%60;

flag=0;
if(m-1<0)
{
flag=1;
}
h1 = (h+24-flag)%24;

printf("%02d:%02d:%02d\n",h1,m1,s1);

s2 = (s+1)%60;
flag =0;
if(s+1>59)
{
flag=1;
}

m2 = (m+flag)%60;

flag=0;
if(m+1>59)
{
flag=1;
}
h2 = (h+flag)%24;

printf("%02d:%02d:%02d",h2,m2,s2);

}

『貳』 24小時進制轉換,簡單c語言問題,怎麼寫

void main()
{
int a,b;
printf("請輸入2個正整數,分別表示小時和分鍾:");
scanf("%d%d",&a, &b);
if(0<=a&&a<24)
{
if(0<=b&&b<60)
{
printf("表示的時間為:%d:%d",a,b);
}
if(60<=b)
{
printf("表示的時間為:%d:%d",a+b/60,b%60);
}
}
else if(24<a)
{
if(0<=b&&b<60)
{
printf("表示的時間為:%d天後的%d:%d",a%24,a/24,b);
}
if(60<=b)
{
printf("表示的時間為:%d天後的%d:%d",a%24,a/24+b/60,b%60);
}
}
else if(a==24)
{
if(0<=b&&b<60)
{
printf("表示的時間為:0:%d",b);
}
if(60<=b)
{
printf("表示的時間為:%d:%d",b/60,b%60);
}
}
else
printf("輸入的數字有誤");
getch();
}

『叄』 現在是5點n個小時候是幾點24小時制,用c語言編程

#include<stdio.h>
voidmain(){intn,a=5;
scanf("%d",&n);a+=n;a%=24;printf("%d ",a);
}

.

『肆』 誰能幫我寫c語言,是輸入一個24小時制的時間,輸出12小時制的時間!例輸入1605,輸出4:05Pm

#include <stdio.h>
int main(void)
{
int h24;
scanf("%d",&h24);
printf("%d:%02d\t%s\n",h24/100<=12?h24/100:h24/100-12,
h24%100,
h24/100<12?"AM":"PM");
return 0;
}

『伍』 AT89C51 電子時鍾24小時制的C語言程序。

我寫了個數碼管的時鍾(我用的是HZ-C51的學習版,如果你用的板子不一樣,你可以修改其中的P口就行了)希望對你有所幫助!
我寫的這個電子鍾包括了時分秒顯示,調時,調分,都有上調和下調功能,每秒LED燈會亮一個作為提示
#include "reg52.h"
#include "intrins.h"
#define N 1
#define uchar unsigned char
#define uint unsigned int

sbit P32=P3^2; //將P32位定義為P3.2引腳
sbit P33=P3^3; //將P33位定義為P3.3引腳
sbit P34=P3^4; //將P34位定義為P3.4引腳
sbit P35=P3^5; //將P35位定義為P3.5引腳

sbit D0=P1^0;
sbit D1=P1^1;
sbit D2=P1^2;
sbit D3=P1^3;
sbit D4=P1^4;
sbit D5=P1^5;
sbit D6=P1^6;
sbit D7=P1^7;

uchar HOUR=0;
uchar MIN=0;
uchar SEC=0;
uchar count=0;
uchar keyval=16;//設定默認按鍵值
uchar FLAG=0;

uchar code port[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
/*uchar code leddata[]={
0xC0, //"0"
0xF9, //"1"
0xA4, //"2"
0xB0, //"3"
0x99, //"4"
0x92, //"5"
0x82, //"6"
0xF8, //"7"
0x80, //"8"
0x90, //"9"
0xBF, //"-"
};*/ 數碼管低有效字碼
//數碼管高有效字碼
unsigned char leddata[]={
0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
0x40, //"-"
};
void delay(uchar t)
{
uchar i,j;
for(i=0;i<t;i++)
for(j=0;j<100;j++)
;
}
void delay20ms()
{
uchar i,j;
for(i=0;i<30;i++)
for(j=0;j<200;j++)
;
}

void scan_key()
{
P3=0xff;
while((P3&0xff)!=0xff) //列線中有一位為低電平「0」,說明有鍵按下
{
delay20ms(); //延時一段時間、軟體消抖
while((P3&0xff)!=0xff) //確實有鍵按下
{
if(P33==0)
keyval=1;//hour+
if(P32==0)
keyval=2;//hour-
if(P35==0)
keyval=3;//min+
if(P34==0)
keyval=4;//min-
}
switch(keyval)
{
case 1:{HOUR++;break;}
case 3:{MIN++;break;}
case 2:{
if(HOUR==0) //防止時-按鍵時出現錯誤
HOUR=23;
else
HOUR--;
break;
}
case 4:{
if(MIN==0) //防止分-按鍵時出現錯誤
MIN=59;
else
MIN--;
break;
}
default:break;
}
}

}

void display()
{
P2=port[0];
P0=leddata[SEC%10];
delay(N);
//scan_key();
P2=port[1];
P0=leddata[SEC/10];
delay(N);
//scan_key();
P2=port[2];
P0=leddata[10];
delay(N);
//scan_key();
P2=port[3];
P0=leddata[MIN%10];
delay(N);
//scan_key();
P2=port[4];
P0=leddata[MIN/10];
delay(N);
//scan_key();
P2=port[5];
P0=leddata[10];
delay(N);
//scan_key();
P2=port[6];
P0=leddata[HOUR%10];
delay(N);
//scan_key();
P2=port[7];
P0=leddata[HOUR/10];
delay(N);
//scan_key();
}

void time_process()
{
if(SEC>59)//無按鍵觸發時的正常時分秒進位
{
SEC=0;
MIN++;
if(MIN>59)
{
MIN=0;
HOUR++;
if(HOUR>23)
{
HOUR=0;
}
else
{
if(HOUR>23)
HOUR=0;
}
}
}
else //防止分+和時+按鍵時出現錯誤
{
if(MIN>59)
{
MIN=0;
HOUR++;
if(HOUR>23)
{
HOUR=0;
}
}
else //防止時+按鍵時出現錯誤
{
if(HOUR>23)
HOUR=0;
}
}
}

void main()
{
EA=1;
ET0=1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
//FLAG=0;
while(1)
{
display();
scan_key();
time_process();
}
}

void time0()interrupt 1 using 0
{
TR0=0;
count++;
if(count==20)
{
count=0;
SEC++;
switch(FLAG)
{
case 0:{D0=~D0;break;}//點亮D0,再次執行熄滅
case 1:{D1=~D1;break;}//點亮D1,再次執行熄滅
case 2:{D2=~D2;break;}//點亮D2,再次執行熄滅
case 3:{D3=~D3;break;}//點亮D3,再次執行熄滅
case 4:{D4=~D4;break;}//點亮D4,再次執行熄滅
case 5:{D5=~D5;break;}//點亮D5,再次執行熄滅
case 6:{D6=~D6;break;}//點亮D6,再次執行熄滅
case 7:{D7=~D7;break;}//點亮D7,再次執行熄滅
}
FLAG++;
if(FLAG==8)
FLAG=0;
//scan_key();
//time_process();
}
TR0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}

『陸』 輸入一個24小時制的時間,轉換為12小時制時間後輸出,編C語言程序

#include <stdio.h>
int main()
{
int a,b;
printf("Enter a 24-hour time: ");
scanf("%d:%d",&a,&b);
if (a<=12)
{printf("Equivalent 12-hour time: %d:%d AM\n",a, b);
}
else if(a == 24)
{ printf("Equivalent 12-hour time: %d:%d PM\n",00, b);
}
else
printf("Equivalent 12-hour time: %d:%d AM\n",a-12, b);

return 0;}

『柒』 如圖,如何用c語言編程換算24小時值!

『捌』 誰能告訴我51單片機簡單的led數碼管時鍾程序 24小時制的(c語言版的)

#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar shi,fen,miao;
uchar time;
void delay(uint x)
{
uint y;
for(;x>0;x--)
{
for(y=0;y<124;y++);
}
}
void display(uchar shi,uchar fen,uchar miao)
{
P2=0; //位碼
P0=(tab[shi/10]); //段碼
delay(2);
P2=1;
P0=(tab[shi%10]);
delay(2);
P2=2; //位碼
P0=0x40; //段碼
delay(2);
P2=3; //位碼
P0=(tab[fen/10]); //段碼
delay(2);
P2=4;
P0=(tab[fen%10]);
delay(2);
P2=5; //位碼
P0=0x40; //段碼
delay(2);
P2=6; //位碼
P0=(tab[miao/10]); //段碼
delay(2);
P2=7;
P0=(tab[miao%10]);
delay(2);

}
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{

if(time==20)
{
time=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==24)
shi=0;
}

}

}
display(shi,fen,miao);
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
}

/*還有什麼不明白繼續追加*/