6-9 c语言查找星期 (20 分)

6-9 查找星期 (20 分)

本题要求实现函数,可以根据下表查找到星期,返回对应的序号。

序号 星期
0 Sunday
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday

函数接口定义:

int getindex( char *s );

函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。

裁判测试程序样例:

#include <stdio.h>
#include <string.h>

#define MAXS 80

int getindex( char *s );

int main()
{
    int n;
    char s[MAXS];

    scanf("%s", s);
    n = getindex(s);
    if ( n==-1 ) printf("wrong input!\n");
    else printf("%d\n", n);

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例1:

Tuesday

输出样例1:

2

输入样例2:

today

输出样例2:

wrong input!

代码:

int getindex( char *s ){
    char week1[7][10] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
    //创建一个保存所有星期的数组
    int week;
    for ( week = 0; week <=6; week++) {//让week自加,来住不检测对应的星期是否相符
        if (strcmp(s,week1[week]) == 0)//运用“strcmp”函数 比较两个数组是否相同(相同的话函数值为0)
            break;//如果s与weed1数组相同即break;停止week的自加,最后return回去;;

    }

    if (week == 7)//若果week=7也就是说明上方的for循环已经结束且上方没有break,也就是说明输入的内容不是所需。
        week = -1;//week 赋值为-1,主函数输出wrong input!
    return week;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章