‘壹’ 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++;
}
/*还有什么不明白继续追加*/