| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 384 人关注过本帖
标题:一个C语言问题,想的头快爆了
只看楼主 加入收藏
wengdy
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-12-27
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:2 
一个C语言问题,想的头快爆了
编写程序,从键盘输入n 个由小到大的顺序排好的数列和一个数insert_value,把
insert_value 插入到由这n 个数组成的数列中,而且仍然保持由小到大的顺序,若insert_value
比原有所有的数都大时放在最后,比原有的数都小时放在最前面。
#include<stdio.h>
#define n 11
void main()
{int a[n],i,t;
 printf("按顺序输入数字\n");
 for(i=0;i<n-1;i++)
 scanf("%d",&a[i]);
 printf("输入一个数字\n");
 scanf("%d",&a[n-1]);
 for(i=n-1;i>=0;i--)
  if(a[i]<a[i-1])
   {
    t=a[i];
    a[i]=a[i-1];
    a[i-1]=t;
   }
  for(i=0;i<n;i++)
  printf("%d ",a[i]);
}
为什么运行的时候出现这种情况;   
1 3 5 7 9 11 13 15 17 19 回车
10 回车
运行结果:1246 3 5 7 9 10 11 13 15 17 19

8 12 13 14 15 18 19 20 25 30 回车
24回车
运行结果:1246 12 13 14 15 18 19 20 24 25 30
搜索更多相关主题的帖子: C语言 
2011-01-05 21:02
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:10 
for(i=n-1;i>=0;i--)
改成
for(i=n-1;i>0;i--)

因为你的循环内引用的是i和i-1
如果你的i取0那么i-1就越界

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2011-01-05 21:43
wengdy
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-12-27
收藏
得分:0 
回复 2楼 御坂美琴
为什么又是犯这种低级错误

谢谢你了,每次都是你帮我解决问题的..
2011-01-05 21:54
快速回复:一个C语言问题,想的头快爆了
数据加载中...
 
   



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

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