C语言 位数大小排序

时间:2022-05-20 17:42:26 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
1. 位数大小排序

子函数功能说明:输入一个五位整数,对此整数中的五个数值进行从大到小的顺序排序,形成一个新的五位整数。同时需要编写主函数和其它相关子函数进行调试。

主要算法思想:将输入的五位数分解出五个数,利用数组把五个数从小到大排序,然后组和 成新的五位数。建立子函数f1求新五位数。

关键数据类型:x(输入的五位数),y(新的五位数)都是 long int 算法框图:主函数 子函数

开始

开始

i=0

x





输入五位数xi<5



求新x

i=0j=0

return x结束



输出原五位数

x

i<5



i<5-i



a[j]>a[j+1]

i++

调用子函数f1

X[i]=x%10X=x/10





输出新五位数y

i++

aj]a[j+1]交换

j++





结束





源代码:

#include

/*子函数求新的五位数*/ long f1(long x){ int a[5],i,j,t; for(i=0;i<5;i++) /*提取五个数字*/ {a[i]=x%10;x=x/10;} for(i=0;i<5;i++) /*从小到大排列数字*/ for(j=0;j<5-i;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} x=10000*a[4]+1000*a[3]+100*a[2]+10*a[1]+a[0];/*求和组成新五个数字*/ return x; }

main(){ long x,y; printf("输入一个五位数:");


}

scanf("%ld",&x);

printf("\n原五位数:%ld",x); y=f1(x); /* 调用子函数*/ printf("\n新五位数:%ld",y);

调试、运行情况正常,如输入14253,则输出:原五位数:14253 新五位数:54321




本文来源:https://www.wddqw.com/doc/a65e6e204b35eefdc8d33390.html