资源描述
.
编写一个程序实现复数的四则运算。
提示
首先考虑如何表示复数,一个复数有实部和虚部组成,而且可以和
其他复数进行四则运算。
复数类由两部分组成,一部分数据成员表示实部和虚部,一部分成
员函数表示复数的四则运算。
在复数类里面设计一个用于初始化复数的成员函数。
在主函数中定义复数对象,验证程序能否正确进行复数四则运算
#include <iostream>
using namespace std;
class complex
{
public:
double a1,b1,a2,b2;
void addtion(double a1,double b1,double a2,double b2);
void subtraction(double a1,double b1,double a2,double b2);
void multiplication(double a1,double b1,double a2,double b2);
void division(double a1,double b1,double a2,double b2);
};
int main()
{
enum {add=0,sub,multi,divide};
int n;
char cho;
complex COMP;
cout<<"请输入第一个复数的实部和虚部!"<<endl;
cin>>COMP.a1>>COMP.b1;
cout<<"请输入第二个复数的实部和虚部!"<<endl;
cin>>COMP.a2>>COMP.b2;
cout<<"请选择计算方法:\n\n"<<"加法计算请按0;"<<endl;
cout<<"减法计算请按1;"<<endl;
cout<<"乘法计算请按2;\n"<<"除法计算请按3.\n"<<endl;
cin >>n;
Continue: switch(n)
{
case add:
COMP.addtion(COMP.a1,COMP.b1,COMP.a2,COMP.b2);
cout<<"您是否选择其他运算Y(y)/N(n)?"<<endl;
cin>>cho;
if(cho=='n'||cho=='N')
break;
else
cin>>n;
goto Continue;
break;
case sub:
COMP.subtraction(COMP.a1,COMP.b1,COMP.a2,COMP.b2);
cout<<"您是否选择其他运算Y(y)/N(n)?"<<endl;
cin>>cho;
if(cho=='n'||cho=='N')
break;
else
cin>>n;
goto Continue;
break;
case multi:
COMP.multiplication(COMP.a1,COMP.b1,COMP.a2,COMP.b2);
cout<<"您是否选择其他运算Y(y)/N(n)?"<<endl;
cin>>cho;
if(cho=='n'||cho=='N')
break;
else
cin>>n;
goto Continue;
break;
case divide:
COMP.division(COMP.a1,COMP.b1,COMP.a2,COMP.b2);
cout<<"您是否选择其他运算Y(y)/N(n)?"<<endl;
cin>>cho;
if(cho=='n'||cho=='N')
break;
else
cin>>n;
goto Continue;
break;
default:
break;
}
return 0;
}
void complex::addtion(double a1,double b1,double a2,double b2)
{
char ch='i';
double RealPart,ImaginaryPart;
RealPart=a1+a2;
ImaginaryPart=b1+b2;
if(ImaginaryPart>0)
{
cout<<RealPart<<"+"<<ImaginaryPart<<ch<<endl;
}
else
{
cout<<RealPart<<ImaginaryPart<<ch<<endl;
}
}
void complex::subtraction(double a1,double b1,double a2,double b2)
{
char ch='i';
double RealPart,ImaginaryPart;
RealPart=a1-a2;
ImaginaryPart=b1-b2;
if(ImaginaryPart>0)
{
cout<<RealPart<<"+"<<ImaginaryPart<<ch<<endl;
}
else
{
cout<<RealPart<<ImaginaryPart<<ch<<endl;
}
}
void complex::multiplication(double a1,double b1,double a2,double b2)
{
char ch='i';
double RealPart,ImaginaryPart;
RealPart=a1*a2-b1*b2;
ImaginaryPart=a1*b2+b1*a2;
if(ImaginaryPart>0)
{
cout<<RealPart<<"+"<<ImaginaryPart<<ch<<endl;
}
else
{
cout<<RealPart<<ImaginaryPart<<ch<<endl;
}
}
void complex::division(double a1,double b1,double a2,double b2)
{
char ch='i';
double RealPart,ImaginaryPart;
RealPart=(a1*a2+b1*b2)/(a2*a2+b2*b2);
ImaginaryPart=(b1*a2-a1*b2)/(a2*a2+b2*b2);
if(ImaginaryPart>0)
{
cout<<RealPart<<"+"<<ImaginaryPart<<ch<<endl;
}
else
{
cout<<RealPart<<ImaginaryPart<<ch<<endl;
}
}
题目二
C ++中的数组和C 语言中数组一样,在程序运行中不提供数组元素访
问越界检查。设计一个改进的数组,提供数组元素访问越界检查。
提示
何为数组越界?
如何判断数组元素访问越界?
如果表示改进的数组,它应该有哪些数据成员,哪些成员函数?
在主函数中定义改进数组的对象,验证改进的数组能否正确工作。
1.题目描述
如果一个大于2的整数的不包含它自身的约数(即能将其整除的数)之和恰好等于它本身,则称其为完全数。如:6=1+2+3,所以,6是个完全数。给定一个数N,编程从小到大输出小于等于N的所有完全数。
输入
一个正整数N。
输出
输出小于等于N的所有完全数,每个占一行。
样例输入
100
样例输出
6
28
#include <iostream>
using namespace std;
int main()
{
int N,i,j,sum;
cin>>N;
for(i=3;i<N;i++)
{
sum=0;
for(j=1;j<=i/2;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
cout<<i<<endl;
}
}
return 0;
}
题目描述
给定N(1<N<1000)个整数,每个整数的大小都在long型整数的表示范围内,请对这N个数进行排序,结果按从小到大的顺序输出。
输入
第一行从标准输入输入一个整数N,在接下来的N行,每行一个整数。
输出
将这N个整数排序后,从小到大输出到标准输出,每个整数占一行。
样例输入
5
5
4
3
2
1
样例输出
1
2
3
4
5
#include <iostream>
using namespace std;
int main()
{
int N,a[N],i,j,temp;
cin>>N;
for(i=0;i<N;i++)
{
cin>>a[i];
}
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<N;i++)
{
cout<<a[i]<<endl;
}
return 0;
}
题目描述
设计并实现一个圆柱类Cylinder,要求:
(1)设计两个double型的私有数据成员:高度height和底圆半径radius。
(2)设计一个double型的公有静态常量数据成员pi(其值初始化为3.1415926),以及一个获取该常量的公有静态成员函数GetPI。
(3)在构造函数的初始化列表中初始化高度height和底圆半径radius。
(4)设计用于获取半径的成员函数GetRadius、获取高度的成员函数GetHeight、设置半径的成员函数SetRadius、设置高度的成员函数SetHeight。
(5)设计用于计算圆柱体积的成员函数Volume()、计算圆柱表面积的成员函数Area。
在main函数中:根据输入的高度和半径构造圆柱对象,并输出圆柱的基本信息、体积和表面积。
输入
圆柱的高度和底圆半径
输出
圆周率pi、圆柱高度、底圆半径、圆柱的体积和表面积
样例输入
2.0 1.0
样例输出
pi=3.14159, height=2, radius=1:volume=6.28319, area=18.8496
提示
题目描述
设计并实现一个动态整型数组类Vect,要求:
(1)实现构造函数重载,可以根据指定的元素个数动态创建初始值为0的整型数组,或根据指定的内置整型数组动态创建整型数组。
(2)设计拷贝构造函数和析构函数,注意使用深拷贝。
(3)设计存取指定位置的数组元素的公有成员函数,并进行下标越界,若越界则输出“out of boundary”。
(4)设计获取数组元素个数的公有成员函数。
(5)设计用于输出数组元素的公有成员函数,元素之间以空格分隔,最后以换行符结束。
在main函数中按以下顺序操作:
(1)根据内置的静态整型数组{1,2,3,4,5}构造数组对象v1,根据输入的整型数构造数组对象v2。
(2)调用Vect的成员函数依次输出v1和v2的所有元素。
(3)输入指定的下标及对应的整型数,设置数组对象v1的指定元素。
(4)根据数组对象v1拷贝构造数组对象v3。
(5)调用Vect的成员函数依次输出v1和v3的所有元素。
输入
用于构建数组对象v2的元素个数
用于设置数组对象v1的指定下标及元素值
输出
数组对象v1和v2的所有元素
数组对象v1和v3的所有元素
样例输入
10
6 6
样例输出
1 2 3 4 5
0 0 0 0 0 0 0 0 0 0
out of boundary
1 2 3 4 5
1 2 3 4 5
提示
精选范本
展开阅读全文