太谢谢你了,网上还是热心人多啊
还想请教一下,你的算法思路是什么样的
还有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编辑过]