博客
关于我
2020-12-03本题要求实现函数,可以根据下表查找到星期,返回对应的序号。
阅读量:633 次
发布时间:2019-03-14

本文共 850 字,大约阅读时间需要 2 分钟。

为了实现该函数,我们可以创建一个包含所有星期几的数组,然后用循环来查找输入字符串是否存在于数组中。如果存在,返回对应的序号;如果不存在或输入无效,则返回-1。

步骤说明:

  • 检查输入字符串的有效性:首先,确保输入字符串不为空。如果输入字符串为空,直接返回-1。
  • 创建星期数组:将所有可能的星期几存储在一个数组中,按照序号从0到6排列。
  • 循环比较:遍历数组中的每一个星期几,使用strcmp函数进行字符串比较。如果找到匹配项,返回当前星期的序号。
  • 返回结果:如果循环结束后没有找到匹配项,返回-1。
  • 代码实现:

    int getindex(char *s) {    if (s == NULL || strlen(s) == 0) {        return -1;    }    static const char *weekays[] = {        "Sunday", "Monday", "Tuesday", "Wednesday",        "Thursday", "Friday", "Saturday"    };    int index = -1;    for (int i = 0; i < 7; i++) {        if (strcmp(s, weekays[i]) == 0) {            index = i;            break;        }    }    return index;}

    解释:

    • 输入检查:首先检查输入字符串s是否为空或NULL,如果是,返回-1。
    • 数组定义:定义了一个静态数组weekays,包含所有有效的星期几字符串。
    • 循环比较:从数组的第一个元素开始,逐一比较输入字符串s是否与当前元素匹配。如果匹配,记录当前索引i并跳出循环。
    • 返回结果:如果在循环中找到匹配项,返回对应的索引;否则,返回-1。

    这个实现高效且直接,确保每个输入字符串只需进行一次循环比较,时间复杂度为O(7),即常数时间。

    转载地址:http://ddooz.baihongyu.com/

    你可能感兴趣的文章
    OSI七层模型与TCP/IP四层与五层模型详解
    查看>>
    OSI七层模型的TCP/IP模型都有哪几层和他们的对应关系?
    查看>>
    OSI操作系统(NETBASE第八课)
    查看>>
    OSM数据如何下载使用(地图数据篇.11)
    查看>>
    OSPF 四种设备角色:IR、ABR、BR、ASBR
    查看>>
    OSPF 四种路由类型:Intra Area、Inter Area、第一、二类外部路由
    查看>>
    OSPF 学习
    查看>>
    OSPF 支持的网络类型:广播、NBMA、P2MP和P2P类型
    查看>>
    OSPF 概念型问题
    查看>>
    OSPF 的主要目的是什么?
    查看>>
    OSPF5种报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文
    查看>>
    SQL Server 存储过程分页。
    查看>>
    OSPFv3:第三版OSPF除了支持IPv6,还有这些强大的特性!
    查看>>
    OSPF不能发现其他区域路由时,该怎么办?
    查看>>
    OSPF两个版本:OSPFv3与OSPFv2到底有啥区别?
    查看>>
    SQL Server 存储过程
    查看>>
    OSPF在什么情况下会进行Router ID的重新选取?
    查看>>
    OSPF在大型网络中的应用:高效路由与可扩展性
    查看>>
    OSPF太难了,这份OSPF综合实验请每位网络工程师查收,周末弯道超车!
    查看>>
    OSPF技术入门(第三十四课)
    查看>>