[求助]错哪里了?我找不到问题啊~~
题目:
任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。
输入: 自然数 n
输出: 各位数字组成的最大数
我的程序:
#include <stdio.h>
#include <conio.h>
void max(unsigned long z);
main()
{
unsigned long n;
clrscr();
printf("Input the data:\n");
scanf("%ld",&n);
max(n);
}
void max(unsigned long z)
{
char a[1000],t;
int i=0,j,k,x,y;
while(z>0)
{
x=z%10;
z/=10;
a=x;
i++;
}
for(j=0;j<i-1;j++)
{
y=j;
for(k=j+1;k<i;k++)
if(a[y]<a[k])
y=k;
t=a[j];a[j]=a[y];a[y]=t;
}
for(j=0;j<i;j++)
printf("%c",a[j]);
}
编译通过了,但出来的结果是乱码