| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 244 人关注过本帖
标题:求助,为什么输出错误
只看楼主 加入收藏
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求助,为什么输出错误
将有10个元素的int型数列输入10个数,将其按大小排序后输出;再输入一个数将其插入数列的正确位置后在次输出这个有11个元素的数列。
我是这样做的
程序代码:
#include<stdio.h>
main()
{
    int a[10],b[11],i,j,n,temp;
    printf("enter ten numbers\n");
    for(i=0;i<10;scanf("%d",&a[i++]));
    for(i=0;i<10;printf("%d\t",a[i++]));

    for(i=0;i<10;i++)
    for(j=0;j<9;j++)
    {
        if(a[j]<a[j+1])
        temp=a[j];
        a[j]=a[j+1];
        a[j+1]=temp;
    }
    printf("enter a number to 'n'");
    scanf("%d",&n);
    for(i=0;i<=10;i++)
    {
        if(n>a[i])
        b[i]=a[i];

        if(n<a[i])
        b[i]=a[i-1];
        if(n>a[i-1]&&n<a[i])
        b[i]=n;
    }
    for(i=0;i<=10;i++)printf("%d\t",b[i]);
    return 0;

}
但是在插入n后输出的数列的最后一个元素也就是b[10]不能正常输出,输出的b[10]是b[0]的值,求指点错在哪里了。
谢谢。。
搜索更多相关主题的帖子: 元素 
2012-11-19 13:39
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:20 
第一个问题排序if后面少{},导致排序不正确,
第二个问题输入n后逻辑不严密,先自己看看
2012-11-19 14:17
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
感谢2楼,问题解决,果然有逻辑问题,if那的括号是笔误
谢谢

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-19 14:34
Mirob
Rank: 4
来 自:农村
等 级:业余侠客
帖 子:191
专家分:264
注 册:2012-7-20
收藏
得分:0 
看下我的代码。。。跟你的可能不一样。我用的TC编译,如果要用VC,随机函数要变一下。
程序代码:
# include <stdio.h>
# include <stdlib.h>
ina(int *a,int x)
{int i;
  for(i=0;i<x;i++)
     {a[i]=random(30);
      /*printf("%4d",a[i]);*/
     }
}
fun(int *a,int x)
{int i,t,j;

 for(i=0;i<x;i++)
    {for(j=i+1;j<x;j++)
      if(a[i]>a[j])
       {
        t=a[i];a[i]=a[j];a[j]=t;
       }
     printf("%4d",a[i]);
    }
}
bout(int *a,int *b,int x,int y)
{int i,j,t;
  for(i=0;i<x;i++)
    b[i]=a[i];
     b[x]=y;
  for(i=0;i<x+1;i++)
    {for(j=i+1;j<x+1;j++)
      if(b[i]>b[j])
       {
        t=b[i];b[i]=b[j];b[j]=t;
       }
      printf("%4d",b[i]);
    }
}  
main()
{int a[10],b[11],x,y;

 scanf("%d",&x);

 ina(a,x);

 printf("\n");

 fun(a,x);

 printf("\n");

 scanf("%d",&y);

 bout(a,b,x,y);
}
2012-11-19 16:37
快速回复:求助,为什么输出错误
数据加载中...
 
   



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

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