永发信息网

第三道c语言编程题目,没有思路

答案:3  悬赏:10  手机版
解决时间 2021-12-02 07:00
  • 提问者网友:夢醒日落
  • 2021-12-02 01:55
第三道c语言编程题目,没有思路
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-12-02 03:17
#include
#include
#include
int main(){
char a[10],t;
int d,l,i,j;
scanf("%d",&d);
sprintf(a,"%d",d);
l=strlen(a);
for(i=0;i for(j=0;j if(a[j] t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
printf("%d",atoi(a));
return 0;
}
全部回答
  • 1楼网友:人间朝暮
  • 2021-12-02 05:41
把每一位上的数字独立出来,比较大小,再还原位数
  • 2楼网友:独钓一江月
  • 2021-12-02 04:17
把每一位上的数字独立出来,比较大小排序后,再还原位数
————————
下面是代码

#include
#include
void printopp(long int n)
{
int s=0;
int sum = numlength(n);
int a[sum];
while(n)
{
a[s++]=n%10;
printf("%ld\n",n%10);
n=n/10;
}

int i,k,temp;
for(k=0;k {
for(i=k+1;i if(a[k] {
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}

int max = 0;
for(k=0;k {
max = max*10+a[k];
}

printf("max =%d\n",max);

}

int numlength(long int num)
{
int sum=0;
while(num)
{
sum++;
num/=10;
}
printf("%d",sum);
return sum;
}

int main()
{
long int n; scanf("%ld",&n);
if(n==0)return 0;
printopp(n);
printf("\n");
system("pause");
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯