卡布列克运算中求出四位数组成的最小数的过程

花开lehui花落2022-10-04 11:39:541条回答

卡布列克运算中求出四位数组成的最小数的过程
本人新手.求简单一点的.类似这种求最大数的方法:for(i=0;i

已提交,审核后显示!提交回复

共1条回复
斩人拔刀齐 共回答了12个问题 | 采纳率91.7%
用冒泡排序:
#include
using namespace std;
void main()
{
int a[]={0,1,5,4};
int t=0,temp;
for (int i=0;i
1年前

相关推荐

用C++面向对象的方法和对象数组方法来验证卡布列克运算
用C++面向对象的方法和对象数组方法来验证卡布列克运算
给定任意一个四位整数 N(N>0),其各位数字不完全相同.这个数必有这样的规律:
1) 把组成 N 的四个数字从小到大排列,构成最小四位数 min ;
2) 把组成 N 的四个数字从大到小排列,构成最大四位数 max ;
3) 然后求 max 与 min 之差,得到一个新的四位数 ;
重复以上过程,最后总能得到结果:6174.要求本题采用面向对象的方法和对象数组来完成来完成.
举例:4321-1234=3087;8730-0378=8352;8532-2358=6174;……
C lass NB{
int n ,max ,min ,max_min; // n为任意一个四位整数.
public:
NB( ){
min=max=max_min=0;
}
int operating (int );//run the process to validate 6174; result=6174?1;0
void display( );//show max;min;max_min;
};
int main( ){
int count=0 ;
NB nb[200] ; // 建立对象数组;
for( int i=1000; i
一只小蝌蚪1年前0
共回答了个问题 | 采纳率
c#~~~靠,还卡布列克运算,没听过,我也不麻烦大家想,我只是想问怎么重排四位数,转换吗?、因为要运算
c#~~~靠,还卡布列克运算,没听过,我也不麻烦大家想,我只是想问怎么重排四位数,转换吗?、因为要运算
纠结.编程进行卡布列克运算,既任意一个4位数,只要它们各个位上的数字不全相同,就有这样的规律:
⑴把组成这个4位数的4个数字由大到小排列,形成由这4个数字构成的最大的4位数;
⑵把组成这个4位数的4个数字由小到大排列,形成由这4个数字构成的最小的4位数(如果4个数字中含有0,则此数不足4位);
⑶求出以上两数用c #,输入的是字符串我用数组排序,但不转换成数吗?两个数组能直接参加减运算吗?
之差,得到一个新的4位数
小河5282201年前1
苏菲与面包 共回答了16个问题 | 采纳率93.8%
要转换成数啦.获取一个任意四位数之后,就可以获取数的千位、百位、十位、各位、这四个数你可以把他放进数组里,当然也可以申明四个整数,然后对这四个数进行排序(关键就在于于对四位数的排序算法),最后将千位*1000+百位*100+十位*10+个位 再组合成新的四位数,参与加减运算
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