写一个函数将以秒计数的时间转换为以时、分、秒计数的时间。
函数原型为:char *seconds_to(int seconds)。
编写main调用测试它。
**输入格式要求:"%d" 提示信息:“请输入时间(秒):\n”
**输出格式要求:"%d秒合计%s!\n" “%d小时%d分钟%d秒”
提示:此题需要使用sprintf()函数,"%d小时%d分钟%d秒"是sprintf的输出格式。
程序运行示例:
请输入时间(秒):↙
3605
3605秒合计1小时0分钟5秒!↙
#include<stdio.h>
#include<stdlib.h>
char *seconds_to(int seconds);
int main(){
int second;
char t[100];
char *x;
printf("请输入时间(秒):\n");
scanf("%d",&second);
x=seconds_to(second);
sprintf(t,"%d小时%d分钟%d秒",x[0],x[1],x[2]);
printf("%d秒合计%s!\n",second,t);
}
char *seconds_to(int seconds){
char *x1=(char *)calloc(3,sizeof(char));
x1[0]=seconds/3600%24;
x1[1]=seconds/60%60;
x1[2]=seconds%60;
return x1;
}
注:只能char *x; 不可以char x[3]. x不可以是数组然后来存另一个地址,因为数组名是一个常量,不可以对一个常量进行赋值。应利用指针来存放地址。