| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1436 人关注过本帖
标题:输入四个数,逆序输出,我的程序当输入5 4 1 8 等时会出现8 8 8 8.而其他的 ...
只看楼主 加入收藏
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
结帖率:0
收藏
已结贴  问题点数:20 回复次数:16 
输入四个数,逆序输出,我的程序当输入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
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:2 
这么复杂?用数组,逆序输出。
程序代码:
#include <stdio.h>
int main (void) {
        int a[4],i;
        for(i=0;i<4;i++){ scanf ("%i",&a[i]); }
        for(i--;i>=0;i--){ printf("%i ",a[i]); }
        printf ("\n");
        return 0;
}

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-05 22:14
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:2 
说实话,lz写的复杂,我有点迷糊,不用用字符串代替,用指针向前遍历,或者数组下标-1循环输出

我的地盘
2011-04-05 22:18
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:2 
#include <stdio.h>
void Print()
{
    char ch = getchar() ;
    if( ch == '\n' )
        return ;
    Print() ;
    putchar( ch ) ;
}
int main()
{
    Print() ;
    printf("\n") ;
    return 0 ;
}
仅限于个位数或者字符测试

[ 本帖最后由 『点点滴滴』 于 2011-4-5 22:40 编辑 ]
2011-04-05 22:39
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
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
回复 6楼 chenyustang
⊙﹏⊙b汗

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-06 00:01
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
收藏
得分:2 
楼主太有耐心了 佩服。。。
2011-04-06 09:10
chenyustang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-31
收藏
得分:0 
回复 7楼 ansic
怎么样?是不是很繁琐。呵呵
2011-04-06 10:38
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
没学过数组就去学数组  必须会的东西

                                         
===========深入<----------------->浅出============
2011-04-06 10:48
快速回复:输入四个数,逆序输出,我的程序当输入5 4 1 8 等时会出现8 8 8 8.而其 ...
数据加载中...
 
   



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

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