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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章