本题要求实现函数,可以根据下表查找到星期,返回对应的序号。
序号星期
0 Sunday
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
函数接口定义:
int getindex( char s );
函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。
裁判测试程序样例:
这个部分正确,谁能帮忙改改吗?我看了好久都不行U•ェ•*U
Sunday 是字符串 ,不能用 case 'Sunday' , 修改如下,供参考:
#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;
}
/* 你的代码将被嵌在这里 */
int getindex(char* s)
{
int i;
char* week[7] = { "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" };
for (i = 0; i < 7; i++)
if (strcmp(s, week[i]) == 0) return i;
if (i >= 7) return -1;
}
*s指针指向的是字符串第一个元素,和switch里case判断条件不匹配,所以是不是每次都走向default里打印worong input
你这错误不少呀
1.字符串比较要使用strcmp,不可以==,你用switch相当于写==
2.字符串用双引号,你case里全是单引号