福师大网络学院C++语言程序设计网络作业Word文档下载推荐.docx
《福师大网络学院C++语言程序设计网络作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《福师大网络学院C++语言程序设计网络作业Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
+(-1)*b/(2*a));
}elseif((b*b-4*a*c)>
0){//不相等的两实根
这个方程有两个不相等的实根,\n分别是:
+(Math.sqrt(b*b-4*a*c)-b)/(2*a)+"
\n与"
+((-1)*Math.sqrt(b*b-4*a*c)-b)/(2*a));
}elseif((b*b-4*a*c)<
0){//不相等的复根
这个方程有两个不相等的复根,\n分别是:
+(-1)*b/(2*a)+"
+(Math.sqrt(b*b-4*a*c)/(2*a))+"
i"
+"
+b/(2*a)+"
;
}
return0;
}
//--------------------------------------------------
//2.寻找所有各位数字的平方和等于99的三位数
inthundreds=0;
inttens=0;
intsingles=0;
for(inti=100;
i<
1000;
i++){
hundreds=i/100;
//取得百位数
tens=(i%100)/10;
//取得十位数
singles=i%10;
//取得个位数
if((hundreds*hundreds+tens*tens+singles*singles)==99){
cout<
<
i+"
"
}
//3.输入一个2X3的整数矩阵,输出其中最大值、最小值及其所在的行列下标。
inta[2][3]={5,1,3,4,6,2};
//初始化矩阵
intmax=a[0][0];
//初始化最大值
intmaxX=0;
//初始化最大值的横坐标
intmaxY=0;
//初始化最大值的纵坐标
intmin=a[0][0];
//初始化最小值
intminX=0;
//初始化最小值横坐标
intminY=0;
//初始化最小值纵坐标
for(inti=0;
i<
2;
i++){
for(intj=0;
j<
3;
j++){
if(a[i][j]>
max){
max=a[i][j];
maxX=i;
maxY=j;
}
elseif(a[i][j]<
min){
min=a[i][j];
minX=i;
minY=j;
}
cout<
最大的数是"
+max+"
它的行列下标是:
第"
+maxX+"
行,第"
+maxY+"
列。
\n"
最小的数是"
+mix+"
+mixX+"
+mixY+"
//4.输入一3X3整数矩阵,求其主对角线上元素之和并输出。
intmain(){
inta[3][3],i,j,msum=0,ssum=0;
for(i=0;
i<
3;
++i){
for(j=0;
j<
++j){
printf("
a[%d][%d]="
i,j);
scanf("
%d"
a[i][j]);
printf("
矩阵元素表:
%4d"
a[i][j]);
msum+=a[i][i];
ssum+=a[i][2-i];
主对角线的和是:
%d\n斜对角线的和是:
%d\n\n"
msum,ssum);
//5、编程序求y=1+1/1!
intmain()
{
inti,j,m,n,n;
j;
i++)
{
if==0
y=1;
else
if(i%2==1
{
for(n=1;
n<
=i;
n++)
{
m=m+n*i;
}
y=y+m;
else
{
for(n=1;
m=m+n*i;
y=-y-m;
})
0;
C++语言程序设计第二次作业
填充下面的划线部分,使其完成所要求的功能。
答案卷只要写题号与填充的答案,不要题目:
如:
1.xxxxxxx2.xxxxxxx…。
将答案卷直接粘贴到作业栏。
1.计算下列分段函数,X由键盘输入。
0(x<
=-10.0)
y=x(-10.0<
x<
=10.0)
2x-3(x>
10.0)
#include"
stdio.h"
main()
floatx,y;
if(x<
=-10.0)y=0;
elseif(1x<
=10.0)y=x;
elsey=2*x-3;
printf(“%f\n”,x);
2.invert()函数的功能是将一个字符串str的内容倒序存放;
例如:
字符串str原内容为:
abcde,函数调用后变为:
edcba。
string.h>
voidinvert(charstr[])
{inti,j,k;
j=_____2strlen(str)_____;
for(i=0;
strlen(str)/2;
i++,j--)
{k=str[i];
str[i]=str[j];
str[j]=__3_k_____;
voidmain()
{chartest[]="
abcde"
invert(test);
test;
3..下列程序打印出1000以内的所有“完全数”。
“完全数”是指一个正整数,其所有
小于该数的因子之和等于该数本身。
例如:
6=1+2+3,又如:
28=1+2+4+7+14。
#include“iostream.h”
#include”iomanip.h”
voidmain()
{inti,j,s;
for(j=2;
=1000;
j++)
{s=0;
for(i=1;
j;
if(___4_s%i==0___)s+=i;
if(___5s==j____)cout<
setw(5)<
}}
4.以下程序显示如下所示的矩阵,矩阵中每个元素形成的规律是:
右上三角阵(含
对角线)元素值为1,其它元素值为:
行下标—列下标+1。
11111
21111
32111
43211
54321
#include”iostream.h”
{inti,j,a[5][5];
for(i=0;
=4;
i++)
for(j=0;
5;
j++)
if(___6_i<
=j___)a[i][j]=1;
else__7a[i][j]___=i-j+l;
for(i=0;
{for(j=0;
j++)cout<
setw(3)<
a[i][j];
"
5.以下scat函数将字符串str2连接到字符串strl之后。
运行时,
若输入:
LiMing,回车
Goodmorning!
回车
则输出:
LiMing,Goodmorning!
请填空完成程序。
#include"
iostream.h"
#include”stdio.h”
scat(char*strl,char*str2)
{while(*strl!
=___8_’,’____)strl++;
while(*strl++=___9_str2_____);
/*将str2连接到strl的后而*/
{chara[500],b[300];
gets(a);
//从键盘输入一字符串放入a,
gets(b);
//字符串中可包含空格
scat(a,b);
a;
6.以下程序是用来输出如下图形:
#
*#*
#*#*#
*#*#*#*
#*#*#*#*#
inti,j;
for(i=1;
=5;
for(j=1;
=5-i;
j++)cout<
=2*i-1;
if(__10j%2==0____)cout<
*"
;
elsecout<
#"
7.以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把二者对调,然后输出调整后的5个数。
inta[5],t,i,maxi,mini;
cin>
>
a[i];
mini=maxi=___110____;
if(___12_a[mini]>
a[i]___)mini=i;
if(a[i]>
a[maxi])___13_maxi=i___;
最小数的位置是:
mini<
”\n”;
最大数的位置是:
maxi<
t=a[maxi];
____14__a[maxi]=a[mini]____;
a[mini]=t;
cout<
调整后数的数为:
for(i=0;
a[i]<
”“;
C++语言程序设计第三次作业
编写程序:
1.定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copyconstructor,一negate()成员函数将point的x,y和z值各乘-1,一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值。
iostream"
usingnamespacestd;
classPoint
private:
doublex,y,z;
public:
Point();
Point(doublex0,doubley0,doublez0);
voidnegate();
voidnorm();
voidprint();
};
Point:
:
Point()
x=0;
y=0;
z=0;
Point(doublex0,doubley0,doublez0)
x=x0;
y=y0;
z=z0;
voidPoint:
negate()
x=-1*x;
y=-1*y;
z=-1*z;
norm()
print()
("
"
y<
z<
)"
endl;
Pointpoint;
point.print();
Pointpoint1(1,2,-3);
point1.negate();
point1.print();
point1.norm();
2.定义一个Person类,它的每个对象表示一个人。
数据成员必须包含姓名、出生年份、死亡年份,一个默认的构造函数,一析构函数,读取数据的成员函数,一个print()成员函数显示所有数据。
classPerson
char*name;
char*birth;
char*death;
Person();
~Person();
voidreadIn();
Person:
Person()
name="
空"
birth="
death="
~Person()
类被析构"
voidPerson:
readIn()
输入姓名:
gets(name);
输入出生年份"
gets(birth);
输入死亡年份"
gets(death);
姓名:
name<
\n出生年份:
birth<
\n死亡年份"
death<
Personperson;
person.print();
person.readIn();
3。
定义一个Shape基类,由它派生出Rectanglr和Circle类,二者都有GetArea()函数计算对象的面积。
使用Rectangle类创建一个派生类Square。
classShape
public:
doublegetArea();
doublePerson:
Shape()
面积:
classRectanglr:
publicShape
private:
doublea,b;
Rectanglr();
Rectanglr:
Rectanglr()
a=2;
b=3;
doubleRectanglr:
getArea()
retruna*b;
classCircle:
doubler;
Circle();
Circle:
Circle()
r=3;
doubleCircle:
return3.14*r*r;
Shape*s=newRectanglr();
s->
getArea();
4.定义一个Shape抽象类,由它派生出Rectanglr和Circle类,二者都有GetArea()函数计算对象的面积,GetPerim()函数计算对象的周长。
virtualdoublegetArea();
virtualdoubleGetPerim();
doubleGetPerim();
GetPerim()
return2*(a+b);
return2*3.14*r;