| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1034 人关注过本帖
标题:程序运行不了,求指教
只看楼主 加入收藏
南国神画
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:51
专家分:124
注 册:2013-10-24
收藏
得分:3 
程序代码:
# include <stdio.h>

int main(void)
{
    int a, b, c;

    printf("请输入三个整数(中间以空格隔开)\n");
     scanf("%d%d%d",&a,&b,&c);
     printf("a=%d",a);
     printf("\n");
     printf("b=%d",b);
     printf("\n");
     printf("c=%d",c);
     printf("\n");
    
    if (a > b && b > c)
        printf("由大到小依次为 %d %d %d\n", a, b, c);
    if (a > c && c > b)
        printf("由大到小依次为 %d %d %d\n", a, c, b);
    if (b > a && a > c)
        printf("由大到小依次为 %d %d %d\n", b, a, c);
    if (b > c && c > a)
        printf("由大到小依次为 %d %d %d\n", b, c, a);
    if (c > a && a > b)
        printf("由大到小依次为 %d %d %d\n", c, a, b);
    if(c>b&&b>a) //7 9 8
        printf("由大到小依次为 %d %d %d\n", c, b, a);
} 
首先说说scanf()输入的问题,关于能不能有空格的问题我不太懂,但是这里我测试了一下,这样输入没有问题,但这样运行确实存在问题,就拿这个排序来说,首先三个数根据排列组合确实是6种情况,但楼主用else判断最后一种情况,无疑是放大了范围,即默认为if(c>b&&b>a)这种情况,事实证明当测试7,9,8的时候,会出现两个结果,然只有一个对的。可以试想一下else下的情况也可以是(c>a&&c<b)等等情况,当然我只是根据自己的理解,也测试一下,目前没有发现问题,就说说我的看法了。
2013-10-31 19:57
快速回复:程序运行不了,求指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037917 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved