檠砜


私信TA

用户名:q1ngfeng

访问量:19287

签 名:

求求你们别学了,跟不上*_*

等  级
排  名 1199
经  验 3107
参赛次数 0
文章发表 45
年  龄 0
在职情况 学生
学  校 G
专  业

  自我简介:

解题思路:
三个字符串分别比较,若传入的字符串stra<=strb,则返回1;其他返回0。

我把字符串“ab”和"abc",看做“ab”<"abc"

程序提交上去显示答案错误,有大佬点拨一下吗?感谢


注意事项:

参考代码:

#include<stdio.h>
int judge(char a,char b)
{
    if(a<b)
        return 1;
    else
        return 0;
}
int judgearr(char a[],char b[])
{
    int i=0,f=0,l=0;
    while(a[i]!='\0'&&b[i]!='\0')
    {
        f=judge(a[i],b[i]);
        if(f==1)
        {
            break;
        }
        i++;
    }
    l=i-1;
    if(a[l+1]=='\0'&&a[l]<=b[l])
    {
        f=1;
    }
    return f;
}
int main()
{
    char stra[100],strb[100],strc[100];
    int i=0,f1,f2,f3;
    gets(stra);
    gets(strb);
    gets(strc);
    f1=judgearr(stra,strb);
    f2=judgearr(stra,strc);
    f3=judgearr(strb,strc);
    if(f1==1)
    {
        if(f3==1)
        {
            puts(stra);
            puts(strb);
            puts(strc);
        }
        else
        {
            if(f2==1)
            {
                puts(stra);
                puts(strc);
                puts(strb);
            }
            else
            {
                puts(strc);
                puts(stra);
                puts(strb);
            }
        }
    }
    else
    {
        if(f3==0)
        {
            puts(strc);
            puts(strb);
            puts(stra);
        }
        else
        {
            if(f2==1)
            {
                puts(strb);
                puts(stra);
                puts(strc);
            }
            else
            {
                puts(strb);
                puts(strc);
                puts(stra);
            }
        }
    }
    return 0;
}

 

0.0分

0 人评分

  评论区

  • «
  • »