鱼C论坛

 找回密码
 立即注册
查看: 3319|回复: 7

为什么就只有30分

[复制链接]
发表于 2016-10-22 16:59:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
QQ图片20161022165720.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-22 19:34:09 | 显示全部楼层
本帖最后由 1012662902 于 2016-10-22 19:35 编辑

1、result没初始化
2、两个字符串长度不相同的话,用你这代码肯定有一个字符串出现乱码。
解决方法:
前面int big=0;result=0;
在for里面第一行判断,若i==strlen(s1)&&i!=max-1 big=2,break(s1是s2的前缀,s1<s2)
若i==strlen(s2)&&i!=max-1 big=1,break(理由同上)
后面判断为
if(big==1||result>0) cout<<s1+">"+s2<<endl
else if(big==2||result<0) cout<<s2+">"+s1<<endl
else cout<<s1+"="+s2<<endl
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 23:09:51 | 显示全部楼层
1012662902 发表于 2016-10-22 19:34
1、result没初始化
2、两个字符串长度不相同的话,用你这代码肯定有一个字符串出现乱码。
解决方法:

可是运行完之后还是能够返回正确的结果啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-24 20:57:16 | 显示全部楼层
如果输入的是
s1:abc
s2:abcde
答案就不对了  ,即使答案对,提交后返回的是Runtime Error
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-1 14:43:52 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-2 14:08:46 | 显示全部楼层
1012662902 发表于 2016-10-22 19:34
1、result没初始化
2、两个字符串长度不相同的话,用你这代码肯定有一个字符串出现乱码。
解决方法:

i!=max-1    这里的含义不理解,可以解释一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-2 15:03:03 | 显示全部楼层
lili200238 发表于 2016-11-2 14:08
i!=max-1    这里的含义不理解,可以解释一下吗?

错了  删掉max-1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-3 20:36:34 | 显示全部楼层
这个是我写的代码,大家看看有什么问题没有,测试编译通过,运行正常!

#include<stdio.h>
#include<string.h>
int main()
{
       char s1[30];
       char s2[30];
      
           int len;
      
           printf("请输入第一个字符串,以回车键结束!\n");
       scanf("%s",&s1);//接收字符串
      
           printf("请输入第二个字符串,以回车键结束!\n");
       scanf("%s",&s2);
      
           len=(strlen(s1)>strlen(s2)?strlen(s1):strlen(s2));
      
           int result ,i;
           for(i=0;i<len;i++)
           {
                      result=s1[i]-s2[i];
                     
                        if (result!=0)  //如果两个字符相同,比较下一个
                          {
                                  
                               if (result>0)
                                   {
                                               printf("%s>%s\n",s1,s2);
                                               break;//break对if语句无效,break终结的是循环语句
                                    }
                                else
                                   {
                                          
                                               printf("%s<%s\n",s1,s2);
                                               break;
                                         }       
                           }                  
                }
      
  
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 15:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表