关于C语言的问题,位数大小排序(掌握数值排序算法)
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 17:35:13
关于C语言的问题,位数大小排序(掌握数值排序算法)
位数大小排序(掌握数值排序算法)程序说明:输入一个五位整数,对此整数中的五个数值进行从大到小的顺序排序,形成一个新的五位整数,并输出这个整数.要求:用函数调用.最好可以再解释解释代码,我还会给悬赏的
位数大小排序(掌握数值排序算法)程序说明:输入一个五位整数,对此整数中的五个数值进行从大到小的顺序排序,形成一个新的五位整数,并输出这个整数.要求:用函数调用.最好可以再解释解释代码,我还会给悬赏的
比如,输入 18592会先分离 1 8 5 9 2然后再排序成 98521输出需要两个函数,一个分离用,另一个排序用#include<stdio.h>
int main(void)
{
\x09void part(int,int []);
\x09void sort(int []);
\x09int num,x[5];
\x09printf("输入一个5位正整数: ");
\x09scanf("%d",&num);
\x09if(num>99999||num<10000)
\x09{
\x09\x09printf("输入不合格\n");
\x09\x09return 1;
\x09}
\x09part(num,x);
\x09sort(x);
\x09for(num=0;num<5;num++)
\x09\x09printf("%d",x[num]);
\x09return 0;
}
void part(int n,int x[])
{
\x09int i;
\x09for(i=0;i<5;i++)
\x09{
\x09\x09x[i]=n%10;
\x09\x09n/=10;
\x09}
}
void sort(int x[])
{
\x09int i,j,tmp;
\x09for(i=0;i<4;i++)
\x09\x09for(j=i;j<5;j++)
\x09\x09\x09if(x[i]<x[j])
\x09\x09\x09{
\x09\x09\x09\x09tmp=x[i];
\x09\x09\x09\x09x[i]=x[j];
\x09\x09\x09\x09x[j]=tmp;
\x09\x09\x09}
}
再问: 能不能给我稍微说一下这个 int i,j,tmp; for(i=0;i
int main(void)
{
\x09void part(int,int []);
\x09void sort(int []);
\x09int num,x[5];
\x09printf("输入一个5位正整数: ");
\x09scanf("%d",&num);
\x09if(num>99999||num<10000)
\x09{
\x09\x09printf("输入不合格\n");
\x09\x09return 1;
\x09}
\x09part(num,x);
\x09sort(x);
\x09for(num=0;num<5;num++)
\x09\x09printf("%d",x[num]);
\x09return 0;
}
void part(int n,int x[])
{
\x09int i;
\x09for(i=0;i<5;i++)
\x09{
\x09\x09x[i]=n%10;
\x09\x09n/=10;
\x09}
}
void sort(int x[])
{
\x09int i,j,tmp;
\x09for(i=0;i<4;i++)
\x09\x09for(j=i;j<5;j++)
\x09\x09\x09if(x[i]<x[j])
\x09\x09\x09{
\x09\x09\x09\x09tmp=x[i];
\x09\x09\x09\x09x[i]=x[j];
\x09\x09\x09\x09x[j]=tmp;
\x09\x09\x09}
}
再问: 能不能给我稍微说一下这个 int i,j,tmp; for(i=0;i