| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1139 人关注过本帖
标题:[求助]我有一道关于数字的编程题
只看楼主 加入收藏
oujifei
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-7
收藏
得分:0 
回复:(酒肉弥勒佛)这个算法我试了下,小于1s,可以...

太谢谢你了,网上还是热心人多啊
还想请教一下,你的算法思路是什么样的
还有atoi是什么函数

2007-07-07 19:09
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
回复:(酒肉弥勒佛)这个算法我试了下,小于1s,可以...
给你个321就错了
2007-07-07 19:59
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 

修改下,应该能解决321问题了吧

int main()
{
char num[8],c,temp[2];
int count=0,max=0,s=0,i;

while(1)
{
c=getchar();
if((c=='\n') || (count>6))
break;

num[count]=c;

temp[0]=c;
temp[1]='\0';
if(atoi(temp)>=max)
{
max=atoi(temp);
s=count;
}

count++;
}

num[count]='\0';

printf("num:%s\n",num);

if(s>0)
for(i=0;i<=s;i++)
{
if((num[s]-1)>num[i])
{
c=num[i];
num[i]=(num[s]-1);
num[s]=(c-1);
break;
}
}


printf("new num:%s\n",num);
}

[此贴子已经被作者于2007-7-7 20:54:57编辑过]


编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-07 20:52
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
以下是引用oujifei在2007-7-7 19:09:25的发言:

太谢谢你了,网上还是热心人多啊
还想请教一下,你的算法思路是什么样的
还有atoi是什么函数

思路就是:先找到最大的数,判断位置,不是第一个,就减一,然后和他前面的高位比较,如果比他小,就交换
atoi是字符转变为整型


编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-07 20:57
静夜嘶
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-7-2
收藏
得分:0 
我最头疼的就是算法与数据结构了

2007-07-08 02:53
system32
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:58
帖 子:3096
专家分:0
注 册:2006-9-24
收藏
得分:0 
静夜嘶

[glow=200,blue,1]世界上妞是无限的,而我们的精力是有限的,用有限去搞无限,死定了。要用有限的精力去泡一个有钱妞,要发达,吃软饭![/glow]
2007-07-08 03:08
静夜嘶
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-7-2
收藏
得分:0 
以下是引用system32在2007-7-8 3:08:39的发言:
静夜嘶

斑竹怎么了?


2007-07-08 03:19
乙丑子
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-7-9
收藏
得分:0 

新手适一适

2007-07-09 21:05
快速回复:[求助]我有一道关于数字的编程题
数据加载中...
 
   



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

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