本题要求实现函数,可以根据下表查找到星期,返回对应的序号。
函数接口定义:
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;
}
/* 你的代码将被嵌在这里 */
输入样例:
Tuesday
输出样例:
2
输入样例:
Today
输出样例:
wrong input!
这道题很无解,我用数组直接匹配是否相等,但是四和六老是匹配不成功,我发现他们运行的结果是2和0,然后我发现他们的首字母和周日和周二的一样,在网上查看啦一番之后,发现==这个判断符只针对字符串的首字母进行匹配,所以才会匹配真失败,所以大家还是用下面的方法进行匹配
之后我网上的方法-strcmp(s,s1),对字符串进行匹配
int getindex( char *s ){
//首先创建一个数组
char *s1[7]= {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
for(int i=0;i<7;i++){
if(strcmp(s,s1[i])==0) //这里进行匹配
return i;
}
return -1;
}