pokerjest 2017-10-22 04:06 采纳率: 66.7%
浏览 989
已采纳

ASCII码排序 oj 上下两个代码有什么不一样么,为什么上面正确下面错误

#include
int main(void)
{
char t, a, b, c, ch;

while(scanf("%c%c%c", &a, &b, &c)!=EOF)
{
    if(a>b) 
    {
        t=a;
        a=b;
        b=t;
    }
    if(a>c) 
    {
        t=a;
        a=c;
        c=t;
    }
    if(b>c) 
    {
        t=b;
        b=c;
        c=t;
    }
    printf("%c %c %c\n", a, b, c);
    scanf("%c",&ch);
}

return 0;

}

#include
int main(void)
{
char x, y, z, i, ch;

while(scanf("%c%c%c", &x, &y, &z)!=EOF)
{
    if(x>y)
    {
        i=x;
        x=y;
        x=i;
    }
    if(x>z)
    {
        i=x;
        x=z;
        z=i;
    }
    if(y>z)
    {
        i=y;
        y=z;
        z=i;
    }
    printf("%c %c %c\n", x, y, z);
    scanf("%c",&ch);
}

return 0;

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-10-23 12:51
    关注
     char t, a, b, c, ch;
    这些变量没有初始值,而且变量定义的顺序(t在前,而第二个程序i在后)不同
    while(scanf("%c%c%c", &a, &b, &c)!=EOF)
    这里如果输入的格式不同,那么可能a b c中的一个或者几个没有正确赋值
    
    如果两者叠加,可能造成程序结果不同,碰巧第一个对了。
    
    除此之外,两个程序没有什么区别
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值