| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1436 人关注过本帖
标题:输入四个数,逆序输出,我的程序当输入5 4 1 8 等时会出现8 8 8 8.而其他的 ...
取消只看楼主 加入收藏
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
输入四个数,逆序输出,我的程序当输入5 4 1 8 等时会出现8 8 8 8.而其他的则不会。是什么原因?
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 void  main()
 {
int a,b,c,d,x,y,z;
printf("please input four integers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b)
    a=a;
else a=b;
if(a>c)
    a=a;
else a=c;
if(a>d)
    a=a;
else a=d;
if(b>c)
    b=b;
else b=c;
if(b>d)
    b=b;
else b=d;
if(c>d)
    c=c;
else c=d;
printf("%d%d%d%d",d,c,b,a);

}
搜索更多相关主题的帖子: return 
2011-04-05 21:54
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
收藏
得分:0 
回复 2楼 ansic
当然咯,如果用数组的话会很简单,并且会很清晰。但是如果还没有学过数组的人,只能用if来编写呢。所有我想到了一个,不过很麻烦,但是很容易理解。
#include<stido.h>
 void  main()
 {
int a,b,c,d;
printf("please input four integers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b&&b>c&&c>d)
    printf("%d%d%d%d",d,c,b,a);
if(a>b&&b>d&&d>c)
    printf("%d%d%d%d",c,d,b,a);
if(a>c&&c>d&&d>b)
    printf("%d%d%d%d",b,d,c,a);
if(a>c&&c>b&&b>d)
    printf("%d%d%d%d",d,b,c,a);
if(a>d&&d>b&&b>c)
    printf("%d%d%d%d",c,b,d,a);
if(a>d&&d>c&&c>b)
    printf("%d%d%d%d",b,c,d,a);
if(b>a&&a>c&&c>d)
    printf("%d%d%d%d",d,c,a,b);
if(b>a&&a>d&&d>c)
    printf("%d%d%d%d",c,d,a,b);
if(b>c&&c>a&&a>d)
    printf("%d%d%d%d",d,a,c,b);
if(b>c&&c>d&&d>a)
    printf("%d%d%d%d",a,d,c,b);
if(b>d&&d>a&&a>c)
    printf("%d%d%d%d",c,a,d,b);
if(b>d&&d>c&&c>a)
    printf("%d%d%d%d",a,c,d,b);
if(c>a&&a>b&&b>d)
    printf("%d%d%d%d",d,b,a,c);
if(c>a&&a>d&&d>b)
    printf("%d%d%d%d",b,d,a,c);
if(c>b&&b>a&&a>d)
    printf("%d%d%d%d",d,a,b,c);
if(c>b&&b>d&&d>a)
    printf("%d%d%d%d",a,d,b,c);
if(c>d&&d>a&&a>b)
    printf("%d%d%d%d",b,a,d,c);
if(c>d&&d>b&&b>a)
    printf("%d%d%d%d",a,b,d,c);
if(d>a&&a>b&&b>c)
    printf("%d%d%d%d",c,b,a,d);
if(d>a&&a>c&&c>b)
    printf("%d%d%d%d",b,c,a,d);
if(d>b&&b>a&&a>c)
    printf("%d%d%d%d",c,a,b,d);
if(d>b&&b>c&&c>a)
    printf("%d%d%d%d",a,c,b,d);
if(d>c&&c>b&&b>a)
    printf("%d%d%d%d",a,b,c,d);
if(d>c&&c>a&&a>b)
    printf("%d%d%d%d",b,a,c,d);

}
2011-04-05 23:27
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
收藏
得分:0 
回复 2楼 ansic
不过,用数组来做的话,确实很简单,也很简洁。如果还没有学过数组的人就很难了,我想到了一个比较容易接受的只用if来写的,但是很繁琐。要求是输入四个数字,按从小到大的逆序输出。
#include<stido.h>
 void  main()
 {
int a,b,c,d;
printf("please input four integers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b&&b>c&&c>d)
    printf("%d,%d,%d,%d",d,c,b,a);
if(a>b&&b>d&&d>c)
    printf("%d,%d,%d,%d",c,d,b,a);
if(a>c&&c>d&&d>b)
    printf("%d,%d,%d,%d",b,d,c,a);
if(a>c&&c>b&&b>d)
    printf("%d,%d,%d,%d",d,b,c,a);
if(a>d&&d>b&&b>c)
    printf("%d,%d,%d,%d",c,b,d,a);
if(a>d&&d>c&&c>b)
    printf("%d,%d,%d,%d",b,c,d,a);
if(b>a&&a>c&&c>d)
    printf("%d,%d,%d,%d",d,c,a,b);
if(b>a&&a>d&&d>c)
    printf("%d,%d,%d,%d",c,d,a,b);
if(b>c&&c>a&&a>d)
    printf("%d,%d,%d,%d",d,a,c,b);
if(b>c&&c>d&&d>a)
    printf("%d,%d,%d,%d",a,d,c,b);
if(b>d&&d>a&&a>c)
    printf("%d,%,d%d,%d",c,a,d,b);
if(b>d&&d>c&&c>a)
    printf("%d,%d,%d,%d",a,c,d,b);
if(c>a&&a>b&&b>d)
    printf("%d,%d,%d,%d",d,b,a,c);
if(c>a&&a>d&&d>b)
    printf("%d,%d,%,d%d",b,d,a,c);
if(c>b&&b>a&&a>d)
    printf("%d,%d,%d,%d",d,a,b,c);
if(c>b&&b>d&&d>a)
    printf("%d,%d,%d,%d",a,d,b,c);
if(c>d&&d>a&&a>b)
    printf("%d,%d,%d,%d",b,a,d,c);
if(c>d&&d>b&&b>a)
    printf("%d,%d,%d,%d",a,b,d,c);
if(d>a&&a>b&&b>c)
    printf("%d,%d,%d,%d",c,b,a,d);
if(d>a&&a>c&&c>b)
    printf("%d,%d,%d,%d",b,c,a,d);
if(d>b&&b>a&&a>c)
    printf("%d,%d,%d,%d",c,a,b,d);
if(d>b&&b>c&&c>a)
    printf("%d,%d,%d,%d",a,c,b,d);
if(d>c&&c>b&&b>a)
    printf("%d,%d,%d,%d",a,b,c,d);
if(d>c&&c>a&&a>b)
    printf("%d,%d,%d,%d",b,a,c,d);
printf("\n");

}
2011-04-05 23:55
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
收藏
得分:0 
回复 7楼 ansic
怎么样?是不是很繁琐。呵呵
2011-04-06 10:38
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
收藏
得分:0 
回复 8楼 给力芬2010
呵呵,其实也不能这样说啊,这只是我想到的很繁琐的编程而已。
2011-04-06 10:50
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
收藏
得分:0 
回复 12楼 kwxx
我刚开始就是这样想的啊,可是好像不是正确的
2011-04-07 22:03
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
收藏
得分:0 
回复 12楼 kwxx
void  main()
 {
int a,b,c,d;
printf("please input one integer:");
scanf("%d%d%d%d",&a,&b,&c,&d);
{if(a>b)
    a=a;
else a=b;
if(a>c)
    a=a;
else a=c;
if(a>d)
    a=a;
else a=d;}
{if(b>c)
    b=b;
else b=c;
if(b>d)
    b=b;
else b=d;
}
{
if(c>d)
    c=c;
else c=d;
}
printf("%d %d %d %d\n",d,c,b,a);
 }
那我这个程序是什么原因,当输入5 4 1 9时,不争取。其他的有些数都是对的。
2011-04-07 22:30
快速回复:输入四个数,逆序输出,我的程序当输入5 4 1 8 等时会出现8 8 8 8.而其 ...
数据加载中...
 
   



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

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