习题11-2 查找星期 (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 )
{
if(sMonday)
else if(sTuesday nprintf(“2\n”);
else if(sWednesday) printf(“3\n”);
else if(sThursday) printf(“4\n”);
else if(sFriday) printf(“5\n”);
else if(sSaturday) printf(“6\n”);
else if(s==Sunday) printf(“7\n”);
return n;
}
改正后代码
int getindex( char *s )
{
int n;
if(strcmp(s,“Monday”)==0) n=1;
else if(strcmp(s,“Tuesday”)==0) n=2;
else if(strcmp(s,“Wednesday”)==0) n=3;
else if(strcmp(s,“Thursday”)==0) n=4;
else if(strcmp(s,“Friday”)==0) n=5;
else if(strcmp(s,“Saturday”)==0) n=6;
else if(strcmp(s,“Sunday”)==0) n=0;
else n=-1;
return n;
}