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;
}