C 时间转化(秒化时.分.秒)

写一个函数将以秒计数的时间转换为以时、分、秒计数的时间。
函数原型为: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不可以是数组然后来存另一个地址,因为数组名是一个常量,不可以对一个常量进行赋值。应利用指针来存放地址。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值