更多"已有复数类Complex和主函数main( ),编写一个类Root来实"的相关试题:
[简答题]【说明】
以下【C++程序】实现一个简单的小型复数类MiniComplex,该复数类能进行输入、输出、复数的加法、减法、乘法和除法运算,还可以进行复数的相等比较。
【C++程序】
#ifndef H_MiniComplex
#define H_MiniComplex
#include <iostream>
using namespace std;
class MiniComplex{
public: //重载流插入和提取运算符
(1) ostream&operator<<(ostream &osObject,const MiniComplex&complex){
osObject<<"("<<complex.realPart<<"+"<<complex.imagPart<<"i"<<")";
return osObject;
}
(2) istream&operator>>(istream&isObject, MiniComplex&complex){
char ch;
isObject >>complex.realPart>>ch>>complex.imagPart>>ch;
return isObject;
}
MiniComplex(double real=0,double imag=0); //构造函数
MiniComplex operator+(const MiniComplex&otherComplex)const; //重载运算符+
MiniComplex operator-(const MiniComplex&otherComplex)const; //重载运算符-
MiniComplex operator*(const MiniComplex&otherComplex)const; //重载运算符*
MiniComplex operator/(const MiniComplex&otherComplex)const; //重载运算符/
bool oper
[简答题]考虑一元二次方程x2+Bx+C=0,其中B,C分别是将一枚骰子接连掷两次先后出现的点数.求该方程有实根的概率p和有重根的概率q.
[填空题]下列程序的功能是计算机一元二次方程的根。
#include 【10】
#include <stdio.h>
main ( )
float a, b, c, disc, x1, x2, realpart, imagpart;
scanf("%f%f%f",&a,&b,&c);
printf("The equation");
if( 【11】 <=1e-6)
printf(" is not quadratic/n");
else
disc=b*b-4*a*c;
if (fabs (disc) <=1e-6)
printf("has two equal roots:%-8.4f/n",-b/(2*a));
else if( 【12】 )
x1= (-b+sqrt (disc))/(2*a);
x2= (-b-sqrt (disc))/(2*a);
printf("has distinct real roots:%8.4f and %.4f/n",xl,x2);
else
realpart=-b/(2*a);
imagpart=sqrt (-disc)/(2*a);
printf("has complex roots:/n");
printf ("%8.4f+%. 4fi/n", realpart, imagpart);
printf ("%8.4f-%. 4fi/n", realpart, imagpart);
[填空题]以下是一个判断一元二次方程ax2+bx+c=0根的方程的程序,请补充该程序。提示:
·当a<>0时有两个根.设delta=b2-4ac,当delta>0时,有两个不同的实根.当delta=0时,有两个相同的实根。当delta<0时,有两个不同的虚根。
·当a=0,b<>0时,有一个根。
·当a=0、b=0时,方程无意义。
Private Sub Command1_Click( )
Dim a As Single
Dim b As Single
Dim c As Single
Dim sb As Single
Dim xb As Single
Dim re As Single
a = InputBox (“请输入a的值”)
c = InputBox(“请输入c的值”)
if 【10】 then
delta = b ^2- 4 * a * c
re = -b/(2 * a)
if 【11】 then
sb = Sqr (delta)/(2 * a)
Print “方程有两个实根”
Elseif delta = 0 then
Print “方程有两个相等实根”
Else
xb = Sqr( - delta)/(2 * a)
Print “方程有两个虚要”
End if
Else
if 【12】 then
ygz = - b / c
Print “方程仅有一个根”
Else
print “方程无意义”
End if
End if
End Sub
[填空题]以下是一个判断一元二次方程ax2+bx+c=0根的方程的程序,请补充该程序。提示:
·当a<>0时有两个根.设delta=b2-4ac,当delta>0时,有两个不同的实根.当delta=0时,有两个相同的实根。当delta<0时,有两个不同的虚根。
·当a=0,b<>0时,有一个根。
·当a=0、b=0时,方程无意义。
Private Sub Command1_Click( )
Dim a As Single
Dim b As Single
Dim c As Single
Dim sb As Single
Dim xb As Single
Dim re As Single
a = InputBox (“请输入a的值”)
c = InputBox(“请输入c的值”)
if 【10】 then
delta = b ^2- 4 * a * c
re = -b/(2 * a)
if 【11】 then
sb = Sqr (delta)/(2 * a)
Print “方程有两个实根”
Elseif delta = 0 then
Print “方程有两个相等实根”
Else
xb = Sqr( - delta)/(2 * a)
Print “方程有两个虚要”
End if
Else
if 【12】 then
ygz = - b / c
Print “方程仅有一个根”
Else
print “方程无意义”
End if
End if
End Sub
[简答题]已知关于x的一元二次方程x2+kx-1=0.是否存在实数k,使得方程的两根分别为x1,x2,且满足x1+x2=x1·x2,若有,求出k的值;若没有,请说明理由.
[填空题]已知关于x的一元二次方程x2-m=2x有两个不相等的实数根,则m的取值范围是(),若m=3,则解方程得,x=()。
[简答题]编一个程序,在主函数中输入10个英文单词,用另一个函数对它们按字典顺序排序,然后在主函数中输出这10个已排好序的单词。
[填空题][说明] 编写一个完整的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)
{
(1)
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( ) { (2) }
Complex( intr , inti)
{ (3) }
ComplexeomplexAdd (Comp
[简答题]
针对以下C语言程序,请按要求回答问题。
以下是一个用来求解一元二次方程的C语言程序:
1 main( )
2 {
3
float a,b,c,x1,x2,delta;
4
scanf("%f*f%f",&a,&b,&c);
5
if(a!=0)
6 {
7
delta=b*b-4*a*c;
8
if(delta>0)
9 {
10 x1=(-b+sqrt(delta))/(2*a);
11 x2=(-b-sqrt(delta))/(2*a);
12 printf("x1=%f,x2=%f/n", x1,x2);
13 }
14
else
15 {
16
if delta=0)
17
{
18 x1=-b/(2*a);
19 printf("x1=%f/n",x1);
20 }
21
else
22 {
23
printf("no real solution/n");
24 }
25
}
26 }
27
}
[填空题]一枚硬币连续投掷8次正反面出现的次数分别为X,Y,则一元二次方程t2+Xt+Y=0有实根的概率α=______;有重根的概率β=______.
[单项选择]
一元二次方程x3+bx+1=0有两个不同实根
(1)b<-2
(2)b>2()
A. 条件(1)充分,但条件(2)不充分
B. 条件(2)充分,但条件(1)不充分
C. 条件(1)和(2)单独都不充分,但条件(1)和(2)联合起来充分
D. 条件(1)充分,条件(2)也充分
E. 条件(1)和(2)单独都不充分,条件(1)和(2)联合起来也不充分
[简答题]
关于x的一元二次方程(a-1)x2+x+a2-1=0有一个根是0,则a=()
[填空题]设在主函数中有以下定义和函数调用语句,且fun函数为void类型,请写出fun函数的首部 。要求形参名为b。
main( )
double s[10] [22];
int n;
┆
fun(s);
┆
[填空题]设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部 【10】 。要求形参名为b。
main( )
double [10][22];
int n;
......
fun(s);
[填空题]设在主函数中有以下定义和函数调用语句,且fun函数为void类型,请写出fun函数的首部 【13】 。要求形参名为b。
main( )
double s[10] [22];
int n;
┆
fun(s);
┆