太谢谢你了,网上还是热心人多啊
还想请教一下,你的算法思路是什么样的
还有atoi是什么函数
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
修改下,应该能解决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编辑过]
----------------解决方案--------------------------------------------------------
太谢谢你了,网上还是热心人多啊
还想请教一下,你的算法思路是什么样的
还有atoi是什么函数
思路就是:先找到最大的数,判断位置,不是第一个,就减一,然后和他前面的高位比较,如果比他小,就交换
atoi是字符转变为整型
----------------解决方案--------------------------------------------------------
我最头疼的就是算法与数据结构了
----------------解决方案--------------------------------------------------------
静夜嘶
----------------解决方案--------------------------------------------------------
静夜嘶
斑竹怎么了?
----------------解决方案--------------------------------------------------------
新手适一适
----------------解决方案--------------------------------------------------------