(PAT)查找星期

本题要求实现函数,可以根据下表查找到星期,返回对应的序号。

序号 星期
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 )
{
	char *day[7] = { "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" };
	int i,ret=-1;
	for(i=0;i<7;i++){
		if(strcmp(s,day[i])==0){
			ret=i;
		}
	}
	return ret;
}

//方法二:
int getindex( char *s )
{
    switch(s[0])
    {
        case 'S': if(strlen(s)==6) return 0;
                  else return 6;
        case 'M': return 1;
        case 'T': if(strlen(s)==7) return 2;
                  else return 4;
        case 'W': return 3;
        case 'F': return 5;
        default:  return -1;
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值