| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 500 人关注过本帖
标题:怎么输出的都不是我输入的数呢?
只看楼主 加入收藏
chao185
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2014-9-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
怎么输出的都不是我输入的数呢?
void main()
{


    int a[5],b[5],c,d;
    scanf("%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4]);
    for(c=0;c<5;c++)
    {
        for(d=0;d<5;d++)
        {
            if (b[d]>a[c])
            {
                b[d]+=a[c];
                a[c]=b[d]-a[c];
                b[d]-=a[c];
        }
        }
    }
    printf("%d\n%d\n%d\n%d\n%d\n",a[0],a[1],a[2],a[3],a[4]);
    getch();

}
麻烦各位给我看看哪儿出问题了。
2014-09-04 22:17
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:10 
你想得到什么结果,还有数组b的初始化呢?
2014-09-04 23:17
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:10 
b[5]没有初始化
2014-09-04 23:21
chao185
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2014-9-3
收藏
得分:0 
回复 2 楼 Coincedence4
void main()
{


    int a[5],b[5]={0,0,0,0,0},c,d;
    scanf("%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4]);
    for(c=0;c<5;c++)
    {
        for(d=0;d<5;d++)
        {
            if(b[d]>b[++d])
            {
                a[c]=b[--d];
            }
            if((b[d]<a[c])&(b[d]>b[++d]))
            {
                a[c]=b[--d];
            }
        }
    }
    printf("%d\n%d\n%d\n%d\n%d\n",a[0],a[1],a[2],a[3],a[4]);
    getch();

}请问,这个怎么赋值失败?什么原因?
2014-09-05 02:44
chao185
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2014-9-3
收藏
得分:0 
回复 3 楼 apull
void main()
{


    int a[5],b[5]={0,0,0,0,0},c,d;
    scanf("%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4]);
    for(c=0;c<5;c++)
    {
        for(d=0;d<5;d++)
        {
            if(b[d]>b[++d])
            {
                a[c]=b[--d];
            }
            if((b[d]<a[c])&(b[d]>b[++d]))
            {
                a[c]=b[--d];
            }
        }
    }
    printf("%d\n%d\n%d\n%d\n%d\n",a[0],a[1],a[2],a[3],a[4]);
    getch();

}请问,这个怎么赋值失败?什么原因?
2014-09-05 02:45
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
简单说说:
    for(c=0;c<5;c++)
    {
        for(d=0;d<5;d++)
        {
            if(b[d]>b[++d])
            你看这里 注意b数组的边界 当d==4的时候 它去到了b[5] 是不允许的
2014-09-05 06:59
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:0 
回复 4 楼 chao185
6楼上正解,补充以你的赋值b[d]>b[++d]永远不会成立。
2014-09-05 08:06
chao185
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2014-9-3
收藏
得分:0 
回复 7 楼 Coincedence4
为什么?是什么原因?
2014-09-05 18:23
随风而行lulu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:60
注 册:2014-9-6
收藏
得分:0 
边界问题,用4或5去试一下就知道了
2014-09-08 22:54
fogmaple
Rank: 4
来 自:江西省赣州市于都县
等 级:业余侠客
威 望:1
帖 子:119
专家分:233
注 册:2014-7-28
收藏
得分:0 
初始化及边界上的问题
2014-09-09 13:26
快速回复:怎么输出的都不是我输入的数呢?
数据加载中...
 
   



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

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