1、类 编程题 1【题目】试定义一个类 NUM,验证下列命题是否成立:任意一个正整数与其反序数相加,得到一个新的正整数,再对这个新正整数重复上述步骤,最终一定可以得到一个回文数。例如,正整数 350 的反序数为 053(即 53), 350+53=403, 403+304=707, 707 是回文数,命题成立。又如,正整数 2015 的反序数为 5102, 2015+5102 =7117, 7117是回文数,命题成立。具体要求如下: 私有数据成员 int num:存放用于验证命题的正整数。 公有成员函数 NUM(int x):构造函数,用 x初始化数据成员 num。 void set(int a)
2、:将 num的值设置为 a。 int yn(int n):判断 n是否回文数,若是,返回 1;否则返回 0。 void fun():使用 num验证命题是否成立,并显示验证过程。 在主函数中对该类进行测试。 输出示例: num=350的验证过程如下 : 350+53=403 403+304=707 命题成立! num=2015的验证过程如下 : 2015+5102=7117 命题成立! #include class NUM private: int num; public: NUM(int x); void set(int a); int yn(int n); void fun(); ; NU
3、M:NUM(int x) num=x; void NUM:set(int a) num=a; int NUM:yn(int n) int t=n,s=0; while(t) s=s*10+t%10; t/=10; if(s=n) return 1; else return 0; void NUM:fun() int m; cout #include class STU private: int norm,ex,final,overall; char name15; public: void init(char *name1,int norm1,int ex1,int fin1); void f
4、un(); friend void sort(STU st,int n); void print(); ; void STU:init(char *name1,int norm1,int ex1,int fin1) strcpy(name,name1); norm=norm1;ex=ex1;final=fin1; overall=0; void STU:fun() if(final=50) overall=int(norm*0.2+ex*0.25+final*0.55+0.5); else overall=int(final+0.5); void sort(STU st,int n) for(
5、int i=0;inamenormexfin; si.init(name,norm,ex,fin); si.fun(); cout class Array private: int a45; public: Array(int t5,int n); int comp(int n); int sum_comp(int j); void exch(int j1,int j2); void fun(); void print(); ; Array:Array(int t5,int n) for(int i=0;i class EQU private: float a,b,c; double x; public: EQU(float a1,float b1,float c1); void fun(double x0,double e); void print(); ; EQU:EQU(float a1,float b1,float c1)