实验11-1-3 查找星期 (15 分)
本题要求实现函数,可以根据下表查找到星期,返回对应的序号。
序号 | 星期 |
---|---|
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 i,world=0,j; //注意为*a[7] 最后一个自动填上‘\0’ 所以需要a[7]
char *a[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
for(j=0;j<=6;j++){
world=0;
for(i=0;i<strlen(s);i++){
if(a[j][i]!=s[i]) { //由于没有可以直接比较的函数,故需要利用递归挨个比较所有类型
world=1;
}
}
if(world==0) return j;
}
return -1;
}