⑴ 在c语言程序中如何编辑秒数,让它按小时;分钟,秒的形式输出
根据输入的秒数,转换成相应的时,分,秒数据输出过程为:
定义变量h, m, s来存储转换结果
定义seconds变量,接收用户输入
得到小时数:h=seconds/3600;
去除小时数:seconds%=3600;
得到分钟数:m=seconds/60;
得到秒数:s=seconds%60 ;
输出结果
参考代码:
#include<stdio.h>
intmain()
{
inth,m,s,seconds;
printf("inputsec:");scanf("%d",&seconds);
h=seconds/3600;
seconds%=3600;
m=seconds/60;
s=seconds%60;
printf("%d:%d:%d ",h,m,s);
return0;
}
运行结果:
inputsec:14567
4:2:47
⑵ c语言怎么识别输入分钟或小时,并换成秒
在C语言中可以读入输入一个整数和一个字符,如果得到的字符是字母M。那么就是表示是分钟,只要乘以60就得到秒钟数。如果得到的字符是字母H。那么就表示是小时把得到的数字乘以3600就得到秒钟数。
⑶ 求一个c语言程序,将输入几时几分几秒转化为多少秒
#include<stdio.h>
intmain()
{
inth,m,s;
scanf("%d小时%d分钟%d秒",&h,&m,&s);
printf("%d秒",h*3600+m*60+s);
return0;
}
//运行示例:
⑷ c语言编写 输入一个以秒为单位的时间值,将其转化成“时:分:秒”的形式输出,将转换操作定义成函数
#include<stdio.h>
void trans(int sec){
int hour,min;
hour=sec/3600; //计算时 3600进制
min=(sec%3600)/60; //计算分 60进制
sec=(sec%3600)%60; //计算秒 余下的全为秒数
printf("%d时:%d分:%d秒\n",hour,min,sec);
}
int main(){
int sec;
printf("请输入秒数:\n");
scanf("%d",&sec);
trans(sec);
return 0;
}
可以自己试试
⑸ 四位数码管的时钟C语言程序
/***源程序默认硬件环境:52单片机,12MHz晶振,四位共阳数码管,P0段选,P20-P23低电平位选,P23最高位,P20最低位***/#include"reg52.h"//包含52头文件#defineTRUE1//定义布尔量'1':真#defineFALSE0//定义布尔量'0':假#defineucharunsignedchar//定义无符号字符型数据简称#defineuintunsignedint//定义无符号整型数据简称#defineth00x3c#definetl00xb0//50msat12MHz(定时器工作模式1状态)#defineth10xfc#definetl10x18//1msat12MHz(定时器工作模式1状态)#defineT1sAt50msCount20//定义1s在50ms计时基准状态下的计数值为20#defineSEG_Num4#defineSEG_DataP0//数码管段驱动接口#defineSEG_EnP2//数码管位驱动接口#defineSEG_AllOff(SEG_En|=0x0f)//关闭所有数码管(位驱动)#defineDisTimeAt1msCount4//单'位'数码管显示时间,数码管刷新频率f=1/(N*t),其中N为数码管位数,t为单'位'数码管显示时间ucharSEG_B_List[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管代码表"0-9"ucharSec,Min;ucharbdataFlag=2;sbitT1sTimesUpFlag=Flag^0;sbitDisplayFlag=Flag^1;voidTimer0()interrupt1//定时器0中断函数{staticuchart50ms;TL0=tl0;TH0=th0;t50ms=++t50ms%T1sAt50msCount;//先对50ms计时变量加1,后对变量范围进行限制(0~19)(即对20取模)if(!t50ms)T1sTimesUpFlag=TRUE;//若计时变量归0,表示计时变量曾经到达20(1s),则对1s计时标志位置位}voidTimer1()interrupt3{staticuchart1ms;TL1=tl1;TH1=th1;t1ms=++t1ms%DisTimeAt1msCount;//先计数值加1,后对计数范围进行限制0~(DisTimeAt1msCount-1)if(!t1ms)DisplayFlag=TRUE;//若定时计数值归0,则表示计数值曾到达单'位'显示时间(DisTimeAt1msCount),显示标志置位}voidTimerInit(){TMOD=0x11;//开启定时器0、定时器1,并都工作在模式1TH0=th0;TL0=tl0;TR0=1;//启动T0定时器计时ET0=1;//允许定时器0中断TH1=th1;TL1=tl1;TR1=1;//启动T1定时器计时ET1=1;//允许定时器1中断EA=1;//开启系统中断功能}voidTimesUpdata()//时间更新函数{if(T1sTimesUpFlag)//若1s计时标志位为真,即1s定时时间到{Sec=++Sec%60;//秒Sec在0-59范围内加1if(!Sec)Min=++Min%60;//若秒Sec重归0,则分Min在0-59范围内加1T1sTimesUpFlag=FALSE;//清1s计时标志位}}floatPow_Self(floatx,uinty)//自编简易x的y次方函数,y只能是非负整数{floatsum;if(x==0&&y==0)return;//0的0次方无意义elseif(x==0)sum=0;//可有可无,y!=0的情况已经包含x=0,不加不影响结果,但影响运算速度elseif(y==0)sum=1;//除上述情况外,任何数的0次方均为1elseif(y==1)sum=x;//任何数的1次方均为本身elseif(y>1)sum=Pow_Self(x,--y)*x;//递归调用,降幂returnsum;//返回计算结果}voidDisplay(uintdis_num)//显示函数,显示内容为无符号整型数据dis_num{staticdis_loca;//定义静态变量显示位置dis_loca=++dis_loca%SEG_Num;//先对显示位置加1,后对变量范围进行限制0~(SEG_Num-1)SEG_AllOff;//关闭所有数码管显示(位驱动)SEG_Data=SEG_B_List[(dis_num/(uint)(Pow_Self(10,dis_loca)))%10];//将显示内容(dis_num)本次需显示的位(dis_loca)上的数值转成代码,并送到数据端口if(dis_loca==2)SEG_Data&=0x7f;//显示小数点,用于区分Min跟SecSEG_En&=~(1<
⑹ c语言,输入四位整数,转出显示时钟的格式
#include"stdio.h";
voidmain(){
intinput;
scanf("%d",&input);
if(input<100||input>9999)printf("输入数字不在范围 ");
inthr,min;
hr=input/100;
min=input%100;
if(hr<0||hr>23||min<0||min>59){
printf("输入数字无法转换为正确时间 ");
}
else{
printf("输入的时间为%d时%d分 ",hr,min);
}
}//代码未经调试,自己试一下。
⑺ 在c语言程序中如何编辑秒数,让它按小时;分钟,秒的形式输出
您好,是这样的:
1.定义三个变量
分别来存储输入的分钟数、转换的小时数和剩余的分钟数。
2.
从界面获取输入的分钟数。
3.
计算结果。
4.
把结果输出到界面。
//1
定义三个变量
分别来存储输入的分钟数、转换的小时数和剩余的分钟数
//2
从界面获取输入的分钟数
//3
计算结果
//4
把结果输出到界面
int
i,
h,
m;
Console.WriteLine("请输入一个分钟数:");
i
=
int.Parse(Console.ReadLine());
h
=
i/60;
m
=
i%60;
Console.WriteLine("{0}分等于{1}小时{2}分",
i,
h,
m);
Console.ReadKey();
⑻ 求一个c语言程序,将输入多少秒转化为几时几分几秒
#include<stdio.h>
intmain(void)
{
inta,b,c,d;
printf("输入多少秒");
scanf("%d",&a);
b=a/3600;
a=a%3600;//剩下秒数
c=a/60;
d=a%60;//剩下秒数
printf("%d时%d分%d秒 ",b,c,d);
return0;
}