llf123456 发表于 2020-12-23 14:09:02

帮帮我

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

序号        星期
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;

    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(strcmp(s,"Sunday")==1){
                return0;
        }else if(strcmp(s,"Monday")==1){
                return1;
        }else if(strcmp(s,"Tuesday")==1){
                return2;
        }else if(strcmp(s,"Wednesday")==1){
                return3;
        }else if(strcmp(s,"Thursday")==1){
                return4;
        }else if(strcmp(s,"Friday")==1){
                return5;
        }else if(strcmp(s,"Saturday")==1){
                return6;
        }else return-1;
} //为什么我的代码错了

心驰神往 发表于 2020-12-23 15:13:08

strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b);
该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。
这是我在网上搜的,所以你把if(strcmp(s,"Sunday")==1)这种全改为if(strcmp(s,"Sunday")==0)应该就可以了。

心驰神往 发表于 2020-12-23 15:48:26

能解决问题的话,给个最佳呗{:10_256:}
页: [1]
查看完整版本: 帮帮我