C语言编程题目2 卡布列克运算 问题描述 所谓卡布列克运算是指对任意一个四位数,只要它们各个位上的数字不完全相同,就有这

C语言编程
题目2 卡布列克运算
问题描述
所谓卡布列克运算是指对任意一个四位数,只要它们各个位上的数字不完全相同,就有这样的规律:
(1)把组成这个四位数的四个数字重新生成最大的四位数;
(2)把组成这个四位数的四个数字重新生成最小的四位数(若四个数字中含有0,则此四位数可小于四位);
(3)求出以上两位数之差,得到一个新的四位数。
重复以上过程,总能得到最后的结果是6174。
例如当输入1008后,会输出以下结果:
8100-18=8082
8820-288=8532
8532-2358=6174
试编写卡布列克运算的验证程序。
算法分析
根据题意,此问题可被分成以下三个模块来解决:
(1) 将一个四位数的每一位数字按从大到小(或从小到大)的顺序放到一个一维数组中;
(2) 将(1)中有序数组从左到右(或从右到左)组合成一个最大的四位数;
(3) 将(1)中有序数组从右到左(或从左到右)组合成一个最小的四位数;
HAPYY美好人生 1年前 已收到1个回答 举报

有了感觉 幼苗

共回答了21个问题采纳率:95.2% 举报

#include "stdio.h"
void fun(int n, int a[4])
{
int i,j,temp;
for(i=0;i

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.044 s. - webmaster@yulucn.com