YF云飞 2022-10-15 23:24 采纳率: 65%
浏览 108
已结题

简单代码题求解,最好是思路+代码

代码题——有效时间数,有偿,请问怎么实现?
题目如下:

给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 "hh:mm" 。最早 可能的时间是 "00:00" ,最晚 可能的时间是 "23:59" 。

在字符串 time 中,被字符 ? 替换掉的数位是 未知的 ,被替换的数字可能是 0 到 9 中的任何一个。

请你返回一个整数 answer ,将每一个 ? 都用 0 到 9 中一个数字替换后,可以得到的有效时间的数目。

例子:

输入:time = "?5:00"
输出:2
解释:我们可以将 ? 替换成 0 或 1 ,得到 "05:00" 或者 "15:00" 。注意我们不能替换成 2 ,因为时间 "25:00" 是无效时间。所以我们有两个选择。

字符串数组能实现吗?
  • 写回答

2条回答 默认 最新

  • 浪客 2022-10-15 23:38
    关注

    字符数组接收,找到?所在位置,每个位置可替换的数是固定的。

    int main()
    {
        char t[6];
        scanf("%5s", t);
        int inx = 0, r, s = 0;
        while (t[inx])
        {
            if (t[inx] == '?')
            {
                switch (inx)
                {
                case 0:
                    r = 2;
                    break;
                case 1:
                case 4:
                    r = 10;
                    break;
                case 3:
                    r = 6;
                    break;
                default:
                    r = 0;
                    break;
                }
                s += r;
            }
            inx++;
        }
        printf("%d\n", s);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 修改了问题 10月15日
  • 赞助了问题酬金15元 10月15日
  • 展开全部