题目内容:
任意输入英文的星期几,通过查找如图所示的星期表,输出其对应的数字,若查到表尾,仍未找到,则输出错误提示信息。
提示:用一个二维字符数组weekDay来存放如图所示的星期表的内容(字符串)。输入待查找的字符串,然后在星期表中顺序查找与输入字符串相匹配的字符串。找到的字符串在星期表数组中的第一维下标(行号)即为题目所求。
程序运行结果示例1:
Please enter a string:
Friday↙
Friday is 5
程序运行结果示例2:
Please enter a string:
Fruday↙
Not found!
[程序代码]
#include<stdio.h>
#include<string.h>
short MatchWeekDay(char (*)[10], char *);
int main()
{
char WeekDay[7][10] = {{"Sunday"}, {"Monday"}, {"Tuesday"}, {"Wednesday"}, {"Thursday"}, {"Friday"}, {"Saturday"}};
/* 存储用户键入的字符串 */
char Input[10];
printf("Please enter a string:\n");
/* 键入待查找信息 */
gets(Input);
if(MatchWeekDay(WeekDay, Input) >= 0)
{
printf("%s is %hd\n", Input, MatchWeekDay(WeekDay, Input));
}
else
{
/* 未匹配成功 */
printf("Not found!\n");
}
/* */
return 0;
}
/* */
short MatchWeekDay(char (*p)[10], char *q)
{
short i, j;
short flag = 0;
for(i = 0; i < 7; i ++)
{
if(strcmp(p[i], q) == 0)
{
/* 两个字符串相同 */
return i;
}
}
return -1;
}
[运行结果]