用C++面向对象的方法和对象数组方法来验证卡布列克运算
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/09 02:14:21
用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
给定任意一个四位整数 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
#include<iostream>
#include<algorithm>
using namespace std;
class 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 NB::operating(int i)
{
n=i;
int a=i/1000;
int b=i%1000/100;
int c=i%100/10;
int d=i%10;
if(a!=b && a!=c && a!=d && b!=c && b!=d && c!=d)
return 1;
return 0;
}
void NB::display()
{
int a[4],i;
while(n!=6174)
{
for(i=0;i<4;i++)
a[i]=n%10,n/=10;
sort(a,a+4);
for(i=0;i<4;i++)
{
min=min*10+a[i];
max=max*10+a[3-i];
}
max_min = max - min;
n = max_min;
cout<<max<<"-"<<min<<"="<<max_min<<" ";
min = max =0;
}
cout<<endl;
}
int main( ){
int count=0 ;
NB nb[200] ; // 建立对象数组;
for( int i=1000; count<200 && i<10000;i++){
if(nb[count].operating (i)!=0) {nb[count].display();count++;}
//else {cout<<"Err!"; break;}
}
return 0;
}![](http://img.wesiedu.com/upload/f/dd/fddeed5711a327d11b22d2c6c03a70d1.jpg)
#include<algorithm>
using namespace std;
class 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 NB::operating(int i)
{
n=i;
int a=i/1000;
int b=i%1000/100;
int c=i%100/10;
int d=i%10;
if(a!=b && a!=c && a!=d && b!=c && b!=d && c!=d)
return 1;
return 0;
}
void NB::display()
{
int a[4],i;
while(n!=6174)
{
for(i=0;i<4;i++)
a[i]=n%10,n/=10;
sort(a,a+4);
for(i=0;i<4;i++)
{
min=min*10+a[i];
max=max*10+a[3-i];
}
max_min = max - min;
n = max_min;
cout<<max<<"-"<<min<<"="<<max_min<<" ";
min = max =0;
}
cout<<endl;
}
int main( ){
int count=0 ;
NB nb[200] ; // 建立对象数组;
for( int i=1000; count<200 && i<10000;i++){
if(nb[count].operating (i)!=0) {nb[count].display();count++;}
//else {cout<<"Err!"; break;}
}
return 0;
}
![](http://img.wesiedu.com/upload/f/dd/fddeed5711a327d11b22d2c6c03a70d1.jpg)
在面向对象方法中,不属于"对象"基本特点的是______.A、一致性B、分类性C、多态性D、标识惟一性
(46) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______.A.模拟现实世界中
A.面向对象的分析,OOA B.面向对象设计,OOD C.面向对象的程序,OOP D.系统调查与需求分析
如何科学认识政治经济学的对象和方法
如何科学地认识政治经济学的对象和方法
用适当的方法表示下列对象构成的集合
结构化程序设计 和 面向对象程序设计
定义一个圆的类,计算圆的面积,周长和由圆的半径构成的球的体积,用面向对象来编写
数据统计分析求助,急6个对象分平均为三组,每组2个对象,分别用A,B,C三种方法处理三组对象20次后,每个对象可以获得2
讨论面向对象的继承如何促进软件复用、节省程序开发时间和减少错误
C语言的面向对象的设计语言.这句话对吗?
C#,面向对象程序设计语言的三种典型特征是什么?并简要说明