本题要求实现函数,可以根据下表查找到星期,返回对应的序号。
序号 | 星期 |
---|---|
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 ) {
int x; //单一出口
// 比较字符串是否相等要用strcmp
if(strcmp(s, "Sunday") == 0) x=0;
else if(strcmp(s, "Monday") == 0) x=1;
else if(strcmp(s, "Tuesday") == 0) x=2;
else if(strcmp(s, "Wednesday") == 0) x=3;
else if(strcmp(s, "Thursday") == 0) x=4;
else if(strcmp(s, "Friday") == 0) x=5;
else if(strcmp(s, "Saturday") == 0) x=6;
else x=-1;
return x;
}
// 改进, 可以创建一字符二维数组, 然后通过循环进行比较, 省略重复的步骤