#include <stdio.h>
void mysort(int *a, int size)
{
int i, j, k, t
for (i = 0i <size - 1++i)
{
k = i
for (j = ij <size++j)
{
if (a[k] >a[j])
k = j
}
if (k != i)
{
t = a[i]
a[i] = a[k]
a[k] = t
}
}
}
void main()
{
int num, a[4], max, min
do
{
scanf("%d", &num)/* 输入最初的4位数 */
} while (num <1000 || num >9999)
while (num)
{
/* 将4位数分解成隐纳4个独立的数字,并保存在a数组中 */
a[0] = num % 10
num /= 10
a[1] = num % 10
num /= 10
a[2] = num % 10
num /= 10
a[3] = num
/* 排序数组元素 */
mysort(a, 4)
/* 从数组的4个元素中产生最大数字和最小数字 */
max = a[3] * 1000 + a[2] * 100 + a[1] * 10 + a[0]
min = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3]
/* 产生新的4位数 */
num = max - min
printf("%d\n", num)
if (num == 6174)
break
}
printf("The magic number is: %d\n", num)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)