计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
软件设计师(中级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
软件设计应用技术
软件设计基础知识
软件设计应用技术
填空题 阅读下列函数说明和C代码, [说明] 所谓货郎担问题,是指给定一个无向图,并已知各边的权,在这样的图中,要找一个闭合回路,使回路经过图中的每一个点,而且回路各边的权之和最小。 应用贪婪法求解该问题,程序先计算由各点构成的所有边的长度(作为边的权值),按长度大小对各边进行排序后,按贪婪准则从排序后的各边中选择组成回路的边,贪婪准则使得边的选择按各边长度从小到大选择。 函数中使用的预定义符号如下: #define M 100 typedef struct{/*x为两端点p1、p2之间的距离,p1、p2所组成边的长度*/ float x; int p1,p2; }tdr; typedef struct{/*p1、p2为和端点相联系的两个端点,n为端点的度*/ int n,p1,p2; }tr; typedef struct{/*给出两点坐标*/ float x,y; }tpd; typedef int tl[M]; int n=10; [函数] float distance(tpd a,tpd b);/*计算端点a、b之间的距离*/ void sortArr(tdr a[M],int m); /*将已经计算好的距离关系表按距离大小从小到大排序形成排序表,m为边的条数*/ int isCircuit(tr r[M],int i,int j); /*判断边(i,j)选入端点关系表r[M]后,是否形成回路,若形成回路返回0*/ void selected(tr r[M],int i,int j);/*边(i,j)选入端点关系表r*/ void course(tr r [M],tl l[M]);/*从端点关系表r中得出回路轨迹表*/ void exchange(tdr a[M],int m,int b); /*调整表排序表,b表示是否可调,即是否有长度相同的边存在*/ void travling(tpd pd [M],int n,float dist,tl locus[M]) /*dist记录总路程*/ { tdr dr[M];/*距离关系表*/ tr r[M];/*端点关系表*/ int i,j,k,h,m;/*h表示选入端点关系表中的边数*/ int b;/*标识是否有长度相等的边*/ k=0; /*计算距离关系表中各边的长度*/ for(i=1;i<n; i++){ for(j=i+1;J<=n;j++){ k++; dr[k].x={{U}} (1) {{/U}}; dr[k].pl=i; dr[k].p2=j; } } m=k; sortArr(dr,m);/*按距离大小从小到大排序形成排序表*/ do{ b=1; dist=0; k=h=0: do{ k++; i=dr[k].p1; j=dr[k].p2; if((r(i].n<=1)(r[j].n<=1)){/*度数不能大于2*/ if{{U}} (2) {{/U}}{ /*若边(i,j)加入r后形成回路,则不能加入*/ {{U}} (3) {{/U}}; h++; dist+=dr[k].x; }else if{{U}} (4) {{/U}}{ /*最后一边选入r成回路,则该边必须加入且得到解*/ selected(r,i,j); h++: dist+=dr[k].x; } } }while((k !=n) (h !=n)); if(h==n){/*最后一边选入构成回路,完成输出结果*/ course(r,locus); }else(/*找不到解,调整dr,交换表中边长相同的边在表中的顺序,并将b置0*/ {{U}} (5) {{/U}}; } }while(!b); }
进入题库练习
填空题[说明] 设计一个计时程序。该程序用户界面由一个文本框(text 1),两个按钮——命令按钮1 (Command 1)按钮、命令按钮(Command 2)组成。程序运行后,用户按开始按钮,则开始计时,文本框中显示秒数,按停止按钮,则计时停止。单击窗口则退出。 Option Explicit Dim I Private Sub Command1 _ Click( ) i=0 Timer1. Interval = 1000 (1) End Sub Private Sub Command2_ Click( ) Timer1. Enabled = False End sub Private Sub Form Click( (2) End Sub Private Sub Form _Load( ) Timer1. Enabled = False (3) End Sub Private Sub Timer1 _ Timer( ) i=i+1 (4) End Sub
进入题库练习
填空题阅读下列说明和C程序,将应填入 (n) 处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历 过程如下: 若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,访问该元素(根节点),进入该节点的右子树,继续直到遍历完成。 函数中使用的预定义符号如下: typedef struct BiTNode int data; struct BiTNode *iChiid,*rChiid; BiTNode,*BiTree; typedef struct SNode/*链栈的节点类型*/ BiTree elem; struct SNode *next; SNode; [函数] int InOrderTraverse(BiTree root) BiTree P; SNode *q,*stop=NULL;/*不带头节点的单链表作为栈的存储结构*/ P=root; while(p !=NULL || stop !=NULL) if( (1) ) /*不是空树*/ q=(SNode*)malloc(sizeof q); if(q==NULL)return-1; /*根节点指针入栈*/ (2) ; q->elem=P; stop=q; P= (3) ; /*进入根的左子树*/ else q=stop; (4) ; /*栈顶元素出栈*/ printf("%d|,q->elem->data); /*防问根节点*/ P= (5) ; /*进入根的右子树*/ free(q); /*释放原栈顶元素*/ /*if*/ /*while*/ return 0; /*InOrderTraverse*/
进入题库练习
填空题阅读下列说明和E-R图,回答问题1至问题3,将解答填入对应栏内。[说明]设有下列关于学生成绩管理系统的E-R图(见图2-1)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列SQL语言建立了基本表:CREATETABLESTUDENT(SNoCHAR(6)NOTNULLUNIQUE,SNameCHAR(20),SexCHAR(1),DeptCHAR(20),AgeSMALLINT);CREATETABLECOURSE(CNoCHAR(6)NOTNULLUNIQUE,CNameCHAR(20),HourSMALLINT,CreditSMALLINT);CREATETABLESC(SNoCHAR(6),CNoCHAR(6),GRADESMALLINT,PRIMARYKEY(SNo,CNo));为了答题的方便,图中的实体和属性同时给出了中英文两种名字,回答问题时只须写出英文名即可。填充下列SQL程序5.1~5.4中的(1)~(6),使它们分别完成以下查询功能:程序5.1:检索选修所有课程的学生姓名。程序5.2:给出全体学生人数。程序5.3:按学号给出每个学生的平均成绩。程序5.4:按学号给出每个学生选修课程的门数。[程序5.1]SELECTSNameFROMSTUDENTWHERE(1)(SELECTFROMCOURSEWHERE(2)(SELECT*FROMSCWHERE(3)))[程序5.2]SELECT(4)FROMSTUDENT[程序5.3]SELECT(5)FROMSCGROUPBYSNO[程序5.4]SELECT(6)FROMSCGROUPBYSNO
进入题库练习
填空题若另有表Teach(CName,TName)存储教师任课情况,Tname表示教师名。用SQL创建一个含有学号、姓名、课程名、成绩、任课教师名的“主修专业为计算机CS”的学生成绩视图,并要求进行修改、插入操作时保证该视图只有计算机系的学生。请在SQL语句空缺处填入正确的内容。 CREATE VIEW SG (1) SELECT Student.SNo,SName,Grade,Course.CName,TName FROM Student,Grade,Teach, WHERE (2) AND (3) AND Major='cs', (4) ;
进入题库练习
填空题[说明] 设计一个计时程序。该程序用户界面由一个文本框(text 1),两个按钮——命令按钮1 (Command 1)按钮、命令按钮(Command 2)组成。程序运行后,用户按开始按钮,则开始计时,文本框中显示秒数,按停止按钮,则计时停止。单击窗口则退出。 Option Explicit Dim I Private Sub Command1 _ Click( ) i=0 Timer1. Interval = 1000 {{U}} (1) {{/U}} End Sub Private Sub Command2_ Click( ) Timer1. Enabled = False End sub Private Sub Form Click( {{U}} (2) {{/U}} End Sub Private Sub Form _Load( ) Timer1. Enabled = False {{U}} (3) {{/U}} End Sub Private Sub Timer1 _ Timer( ) i=i+1 {{U}} (4) {{/U}} End Sub
进入题库练习
填空题#include <stdio. h> void main( ) { int digit; long in , s; seanf(" % Id", {{U}} (1) {{/U}}; {{U}} (2) {{/U}}; while(in >0) { {{U}} (3) {{/U}}; s = s + digit* digit; {{U}} (4) {{/U}}; } pfinff( "sum = % 1dn", s ); }
进入题库练习
填空题[说明] 这是一个用户名校验程序,如用户名正确,即输出欢迎字样,否则,弹出警告窗并直接退出程序。下面是实现上述功能的程序,请填空。“Option Explicit”此语句的作用:强制显示声明 Dim UserName (2) As String Dim Flag As Boolean (1) Private Sub Form _ Load( ) UserName (0) = "AA": UserName (1) = "BB": UserName(2) = "CC" Flag = False inputName = InputBox( “请输入名称:“,”身份确认”“,”) Dim i As Integer For i = 0 To False If inputName = UserName(i) Then (2) End If Next i If (3) Then MsgBox “用户身份确失败!退出应用”, vbOKOnly, “警告” End End If End Sub Private Sub Form_ Paint( ) (4) End Sub
进入题库练习
填空题[说明] Huffman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值w1,w2,…,wn构成n棵二叉树的集合F=T1,T2,…,Tn,其中每棵树Ti中只有一个带权为wi的根节点,其左右子树均空。 ②在F中选取两棵根节点的权值较小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根节点的权值为其左右子树根节点的权值之和。 ③从F中删除这两棵树,同时将新得到的二叉树加入到F中。 重复②③,直到F中只剩一棵树为止。 函数中使用的预定义符号如下: #define INT_MAX 10000 #define ENCODING LENGTH 1000 typedef enum(none,left_chiid, right chiid Which; /*标记是左孩子还是右孩子*/ typedef char Elemtype; typedef struct TNode//Huffman树节点 Elemtype letter; int weight; //权值 int parent; //父节点 Which sigh; char *code; //节点对应编码 HTNode,*HuffmanTree; int n; char coding[50];//储存代码 [函数] void Select(HuffmanTree HT, int end, int *s1, int *s2) /*在0~END之间, 找出最小和次小的两个节点序号,返回s1、s2*/ int i; int min1= INT_MAX; int min2 = INT_MAX; for (i = 0; i <= end; i++) /*找最小的节点序号*/ if((______) min1 = HT[i].weight; for(i = 0; i <= end; i++) *找次小节点的序号*/ if((HT[i].parent == 0) min2 = HT[i].weight; void HuffmanTreeCreat(HuffmanTree int m = 2 * n - 1; int s1,s2; for(i = n; i < m; i++) Select(______); HT[s1].parent = i; HT[s2].parent = i; HT[s1].sigh = left_child; HT[s2].sigh = right_child; HT[i].weight = ______; void HuffmanTreeEncoding(char sen[],HuffmanTree HT) /*将句子进行编码*/ int i = 0; int j; while(sen[i] != '/0') for(j = 0; j < n; j++) if (HT[j].letter == sen[i]) /*字母匹配则用代码取代*/ strcat(coding, ______); break; i++; if (sen[i] == 32) i++; printf("/n%s",coding);
进入题库练习
填空题 阅读下列函数说明和C++代码,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据,先打印销售票据内容,然后再打印脚注。图5-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。 [图5-1] [C++代码] class Component{ public: {{U}} (1) {{/U}}void prtTicket()=0; }; class SalesTicket:public Component{ public: void prtTicket(){ cout<<"Sales Ticket!"<<endl; } }; class Decorator:public Component{ public: virtual void prtTicket(); Decorator(Component *myC); private: {{U}} (2) {{/U}}myComp; }; Decorator::Decorator(Component *myC) { myComp=myC; } void Decorator::prtTicket() { myComp->prtTicket(); } class Footer:public Decorator{ public: Footer(Component *myC); void prtTicket(); void prtFooter(); }; Footer::Footer(Component *myC):{{U}} (3) {{/U}}{} void Footer::prtFooter() { cout<<"Footer"<<endl; } void Footer::prtTicket() { {{U}} (4) {{/U}}; prtFooter(); } class SalesOrder{ public: void prtTicket(); }; void SalesOrder::prtTicket() { Component *myST; myST=new Footer({{U}} (5) {{/U}}); myST->prtTicket(); }
进入题库练习
填空题阅读以下说明和C++代码,[说明]现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。[图6-1]这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。[C++代码]classDP1public:staticvoiddraw_a_line(doublex1,doubley1,doublex2,doubley2)//省略具体实现;classDP2public:staticvoiddrawline(doublex1,doublex2,doubley1,doubley2)//省略具体实现;classDrawingpublic:(1)voiddrawLine(doublex1,doubley1,doublex2,doubley2)=0;;classV1Drawing:publicDrawingpublic:voiddrawLine(doublex1,doubley1,doublex2,doubley2)DP1::draw_a_line(x1,y1,x2,y2);;classV2Drawing:publicDrawingpublic:voiddrawLine(doublex1,doubley1,doublex2,doubley2)(2);classShapeprivatc:(3)dp;public:Shape(Drawing*dp);virtualvoiddraw()=0;voiddrawLine(doublex1,doubley1,doublex2,doubley2);;Shape::Shape(Drawing*dp)_dp=dp;voidShape::drawLine(doublex1,doubley1,doublex2,doubley2)//画一条直线(4);classRectangle:publicShapeprivatc:double_x1,_y1,_x2,_y2;public:Rectangle(Drawing*dp,doublex1,doubley1,doublex2,doubley2);voiddraw();;Rectangle::Rectangle(Drawing*dp,doublex1,doubley1,doublex2,doubley2):(5)_x1=x1;_y1=yl;_x2=x2;_y2=y2;voidRectangle::draw()//省略具体实现
进入题库练习
填空题 阅读以下函数说明和Java代码, [说明] 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。 为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图7-1显示了各个类间的关系。 [图7-1] 这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAvA语言实现,能够正确编译通过。 [Java代码] //DP1.Java文件 public class DPI{ static public void draw_a_line(double x1,double y1, double x2,double y2){ //省略具体实现 } } //DP2.java文件 public class DP2{ static public void drawline(double x1,double y1, double x2,double y2){ //省略具体实现 } } //Drawing.java文件 {{U}} (1) {{/U}}public class Drawing{ abstract public void drawLine(double x1,double y1,double x2,double y2); } //V1Drawing.java文件 public class V1Drawing extends Drawing{ public void drawLine(double x1,double y1,double x2,double y2){ DP1.draw_a_line(x1,y1,x2,y2); } } //V2Drawing.java文件 public class V2Drawing extends Drawing{ public void drawLine(double x1,double y1, double x2,double y2){//画一条直线 {{U}} (2) {{/U}}; } } //Shape.java文件 abstract public class Shape{ abstract public void draw(); private{{U}} (3) {{/U}}dp; Shape(Drawing dp){ _dp=dp; } protected void drawLine(double x1,double y1, double x2,double y2){ {{U}} (4) {{/U}}; } } //Rectangle.java文件 public class Rectangle extends Shape{ private double_x1,_x2,_y1,_y2; public Rectangle(Drawing dp, double x1,double y1, double x2,double y2){ {{U}}(5) {{/U}}; _x1=x1;_x2=x2; _y1=y1;_y2=y2; } public void draw(){ //省略具体实现 } }
进入题库练习
填空题[说明]某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示。为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图6-1所示。其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、CottonDuck和RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior与QuackBehavior分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。[Java代码](1)FlyBehaViorpublicvoidfly(););(2)QuackBehaviorpublicvoidquack();;ClassFlyWithWingsimplementsFlyBehaviorpublicvoidfly()System.out.println("使用翅膀飞行!");;ClassFlyNoWayimplementsFlyBehaViorpublicvoidfly()System.out.printin("不能飞行!");;ClassQuackimplementsQuackBehaviorpubiicvoidquack()System>out>println("发出\'嘎嘎'\声!");;classSqueakimplementsQuackBehaviorpublicvoidquack()System.out.println("发出空气与橡皮摩擦声!");;ClassQuackNoWayimplementsQuackBehaviorpublicvoidquack()(System.out.println("不能发声!');;AbstractclassDuckprotectedFlyBehavior(3);protectedQuackBehaVior(4);publicvoidfly()(5);;publicvoidquack()(6);;public(7)voiddisplay();;classRubberDuckextendsDuckpublicRubberDuck()flyBehavior=new(8);quackBehavior=new(9);publicvoiddisplay()/*此处省略显示橡皮鸭的代码*/;//其他代码省略
进入题库练习
填空题[说明] 从键盘输入一个字符ch,输出该字符在文本文件input.txt 的每一行中出现的次数。(必须调用函数鳋统计ch的出现次数,函数ff (str,ch)的功能是统计并返回字符ch在字符串str 中出现的次数。)。 例如:如果文件input. txt 中存放了下列数据: every 121 I am a student 运行程序,并输入e后,输出: 2 0 1 int ff( char * str, char ch) { int count =0; while ({{U}} (1) {{/U}}) { if( *str= =ch) count++; str ++; } return count; } # include < stdio. h > # include < stdlib. h > void main( ) { char ch, c, s [80]; int k; FILE *fp; if({{U}} (2) {{/U}}){ printf( “打不开文件!n”); return; } ch = getchar( ); k=0; while( ! feof(fp) ) { c = fgete(fp); if{{U}} (3) {{/U}} s[k++ ] =c; else { s[k]= "; printf ( "%dn" ,ff(s, ch) ); k=0; } } {{U}} (4) {{/U}} printf( "% dn", ff( s, ch ) ); }
进入题库练习
填空题[问题4] 用SQL语言写出操作:把数学系全体学生的成绩置零。
进入题库练习
填空题[说明] 编写一个函数根据用户输入的偶对(以输入。表示结束)建立其有向图的邻接表。一个图的邻接表存储结构定义如下: # include < stdio. h > # define MAXVEX 30 struct edgenode int adjvex; char info; struct edgenode * next; struct vexnode char data; struct edgenode * link; typedef struct vexnode adjlist [MAXVEX]; 实现要求的函数如下: void creatadjlist ( adjlist g) int i, j, k; street vexnode * s; for( k=1; k< =n; k+ +) (1) g [k]. link = NULL; printf ( “输一个对:” ); scanf ("%d, %d", while (2) (3) s- >adjvex =j; (4) g [i].link =s; (5)
进入题库练习
填空题[问题2] 假设上述关系模式RS上存在函数依赖:A1→A3。上述关系模式RS最高满足第几范式(在1NF~BCNF 之内)?为什么?
进入题库练习
填空题发生缺页时,通常需要进行页面置换,页面置换算法的优劣将会影响虚拟存储系统的性能。常用的页面置换算法有理想页面置换算法(OPT:Optimal)、先进先出页面置换算法(FIFO:First-In First-Out)以及最近最少使用页面置换算法(LRU:Least Recently Used)。 某程序在内存中分配3页,初始为空,页面走向为4、3、2、1、4、3、5、4、3、2、1、5。给出采用先进先出(FIFO)、最近最少使用(LRU)和理想(OPT)页面置换算法所得到的内存中的页面变化序列。 注:缺页标记栏,用○表示没有缺页,用×表示发生了缺页。 OPT 4 3 2 1 4 3 5 4 3 2 1 5 页1 页2 页3 缺页标记 FIFO 4 3 2 1 4 3 5 4 3 2 1 5 页1 页2 页3 缺页标记 LRU 4 3 2 1 4 3 5 4 3 2 1 5 页1 页2 页3 缺页标记
进入题库练习
填空题[说明] 编写一个学生类Student,要求: (1) 学生类Student 属性有: id: long 型,代表学号 name: String类对象,代表姓名 age: int 型,代表年龄 sex: boolen 型,代表性别(其中:true 表示男,false 表示女) phone: String 类对象,代表联系电话 (2) 学生类Student 的方法有: Student (long i,String n,int a,boolean s,String p) :有参构造函数,形参表中的参数分别初始化学号、姓名、 年龄、性别和联系电话。 int getAge ():获取年龄作为方法的返回值。 boolean getSex ():获取性别作为方法的返回值。 String getPhone ():获取联系电话作为方法的返回值。 public String to String ():以姓名:性别:学号:联系电话的形式作为方法的返 import java. applet. Applet; import java. awt.* ; public class Student extends Applet long id; String name, phone; int age; boolean sex; Student(long i, String n, int a, boolean s, String p) id=i; name = n; age = a; sex= s; phone = p; public void paint( Graphics g) Student x= new Student (5000," xiaoliu" , 89, true, " 8989898" ); (1) ; (2) g. drawstring( x. getPhone( ), 140,140); int getAge( ) return age; boolean getsex ( ) return sex; String getPhone( ) return phone; String ToString( ) (3)
进入题库练习
填空题[说明] 编写一个完整的JavaApplet 程序使用复数类Complex 验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i。 复数类Complex 必须满足如下要求: (1) 复数类Complex 的属性有: RealPart: int 型,代表复数的实数部分 ImaginPart: int 型,代表复数的虚数部分 (2) 复数类Complex 的方法有: Complex():构造函数,将复数的实部和虚部都置0 Complex (intr,inti):构造函数,形参r为实部的初值,i为虚部的初值。 ComplexeomplexAdd (Complexa):将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者 String ToString():把当前复数对象的实部、虚部组合成s+ bi 的字符串形式,其中a和b分别为实部和虚部的数据。 importjava. applet. * ; importjava. awt. * ; publicclassabcextends Applet { Complex a, b, c; publi cvoid init( ) { a = newComplex(1,2); b = newComplex(3,4); c = newComplex(); } publievoidpaint (Graphicsg) { {{U}} (1) {{/U}} g. drawstring( “第一个复数:” + a. toString(), 10,50); g. drawstring( “第二个复数:” + b. toString( ), 10,70 ); g. drawstring( “两复之和:” + c. toString( ), 10,90); } } class Complex { int RealPart; int ImaginPart; Complex( ) {{{U}} (2) {{/U}}} Complex( intr , inti) {{{U}} (3) {{/U}}} ComplexeomplexAdd (Complexa) { Complextemp = newComplex( ); temp. BealPart = RealPart + a. BealPart; {{U}}(4) {{/U}} returntemp; } public StringtoString( ) { return( RealPart + " + " + ImaginPart + " i "); } }
进入题库练习