| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 471 人关注过本帖
标题:哪位大侠说一下用下面这个程序做升序可行不?
只看楼主 加入收藏
romanchen
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2010-4-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
哪位大侠说一下用下面这个程序做升序可行不?
#include<stdio.h>
#include<string.h>
void main()
{
char str[10],str1[10];
int i,j,k;
gets(str);
for(j=0;j<=9;j++)
   for(i=0;i<=9;i++)
      str1[j]=(str[i]>str[i+1])?str[i+1]:str[i];
for(k=0;k<=9;k++)
    printf("%c",str1[k]);
}
搜索更多相关主题的帖子: include 
2010-04-26 22:31
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:6 
你运行下不就知道行不行咯。
2010-04-26 23:55
hzyzxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:168
注 册:2009-6-14
收藏
得分:6 
肯定不对。
首先你定义的变量 i的最大值能到9。而你的程序中却出现了str[i+1]即str[10]。这是越界的。
其次,算法也不对。你的str1[k]最终都会等于str中最后的两个数中的最小的。


[ 本帖最后由 hzyzxj 于 2010-4-28 11:38 编辑 ]
2010-04-28 11:28
ciweitou163
Rank: 7Rank: 7Rank: 7
来 自:河北 石家庄
等 级:黑侠
威 望:1
帖 子:144
专家分:528
注 册:2008-10-4
收藏
得分:6 
str1[j]中返回的是str[10]中最后两个数中的最小的!没有传递。


  • 满眼生机转化钧;天工人巧日争新。
2010-04-28 13:17
快速回复:哪位大侠说一下用下面这个程序做升序可行不?
数据加载中...
 
   



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

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