我知道我错了,可以怎么改啊
c = c * 10;
c += num[i];
if (c > a)
break;
}
printf("%d\n", c);
return 0;
}
解答如下
#include <stdio.h>
#include <string.h>
int main()
{
char t[100];
gets(t);
int len=strlen(t);
char temp=t[len-2];
for(int i=len-2; i>=0; i--)
{
if(t[i]!=t[len-1])
{
temp=t[i];
break;
}
}
t[len-2]=t[len-1];
t[len-1]=temp;
puts(t);
return 0;
}
给你提供一个思路,可以讲按字符串类型输入x,然后每个对x进行遍历,如45678,逐个转化为int类型进行比较,只需要从个位向高位开始比较,只要发现高位小于低位的数,交换这两个即可!如45678,第一步比较发现7小于8,交换7/8得45687,就是比45678大的最小数!