福师大网络学院C++语言程序设计网络作业_第1页
福师大网络学院C++语言程序设计网络作业_第2页
福师大网络学院C++语言程序设计网络作业_第3页
福师大网络学院C++语言程序设计网络作业_第4页
福师大网络学院C++语言程序设计网络作业_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言程序设计 作业编程: 1编写一个程序求一元二次方程的解。 讨论下述情形:(1)a=0,不是二次方程。 (2)b2-4ac=0,有两个相等实根。 (3) b2-4ac0,有两个不等实根。 (4) b2-4ac0,有两个复根(表示成x+yi,x-yi)。2. 编一程序,求出所有各位数字的平方和等于99的三位数。3. 输入一个2X3的整数矩阵,输出其中最大值、最小值及其所在的行列下标。4. 编程:输入一3X3整数矩阵,求其主对角线上元素之和并输出。 用矩阵: 11 12 13 21 22 23 31 32 33 验证。5. 编程序求 y=1+1/1!-1/2!+1/3!-1/4!+.的值.(精度为1e-6)。/1.编写一个程序求一元二次方程的解。#includeint main()/假设这个方程是 aX2 + bX + c = 0 的标准形式float a,b,c;scanf(%f,&a);scanf(%f,&b);scanf(%f,&c);if(a=0)/a为零 ,非2次方程 不计算printf(这不是一个2次方程);return 0;else if(b*b-4*a*c) = 0) / 相等的两实根printf(这个方程有两个相等的根,是: + (-1)*b/(2*a) );else if(b*b-4*a*c) 0) /不相等的两实根printf(这个方程有两个不相等的实根,n分别是: + (Math.sqrt(b*b-4*a*c)- b)/(2*a) + n与 + (-1)*Math.sqrt(b*b-4*a*c)- b)/(2*a);else if(b*b-4*a*c) 0) /不相等的复根printf(这个方程有两个不相等的复根,n分别是: + (-1)*b/(2*a) +(Math.sqrt(b*b-4*a*c)/(2*a)+i + n与 + b/(2*a) +(Math.sqrt(b*b-4*a*c)/(2*a)+i;return 0;/-/2.寻找所有各位数字的平方和等于99的三位数#includeint main()int hundreds = 0;int tens = 0;int singles = 0;for(int i=100;i1000;i+)hundreds = i/100; /取得百位数tens = (i%100)/10; /取得十位数singles = i%10;/取得个位数if(hundreds*hundreds + tens*tens + singles*singles) = 99)couti+,;return 0;/-/3.输入一个2X3的整数矩阵,输出其中最大值、最小值及其所在的行列下标。#includeint main()int a23 = 5,1,3,4,6,2; /初始化矩阵int max = a00; /初始化最大值int maxX = 0; /初始化最大值的横坐标int maxY = 0; /初始化最大值的纵坐标int min = a00; /初始化最小值int minX = 0;/初始化最小值横坐标int minY = 0;/初始化最小值纵坐标for(int i=0 ; i2 ; i+)for(int j=0; j max)max = aij;maxX = i;maxY = j;else if(aij min)min = aij;minX = i;minY = j;cout最大的数是+max+,它的行列下标是: 第+maxX+行,第+maxY+列。n;cout最小的数是+mix+,它的行列下标是: 第+mixX+行,第+mixY+列。n;/-/4.输入一3X3整数矩阵,求其主对角线上元素之和并输出。#includeint main() int a33,i,j,msum = 0,ssum = 0;for(i = 0; i 3; +i) for(j = 0; j 3; +j) printf(a%d%d = ,i,j);scanf(%d,&aij);printf(矩阵元素表:n);for(i = 0; i 3; +i) for(j = 0; j 3; +j) printf(%4d,aij);printf(n);for(i = 0; i 3; +i) msum += aii;ssum += ai2 - i; printf(主对角线的和是:%dn斜对角线的和是:%dnn,msum,ssum);return 0;/-/5、编程序求 y=1+1/1!-1/2!+1/3!-1/4!+.的值.(精度为1e-6)。#includeint main()int i,j,m,n,n;for(i = 0; i j; i+)if = 0 y = 1;else if(i % 2 = 1for(n = 1; n = i; n+)m = m + n * i;y = y + m;else for(n = 1; n = i; n+) m= m + n * i;y =-y - m;)return 0; 0; 0;C+语言程序设计第二次作业填充下面的划线部分,使其完成所要求的功能。答案卷只要写题号与填充的答案,不要题目:如:1. xxxxxxx 2.xxxxxxx。将答案卷直接粘贴到作业栏。1计算下列分段函数,X由键盘输入。 0 (x=-10.0) y= x (-10.0x10.0)#includestdio.hmain() float x,y; if(x=-10.0)y=0; else if ( 1 x=10.0 ) y=x; else y=2*x-3; printf(“%fn”,x);2. invert()函数的功能是将一个字符串str的内容倒序存放;例如: 字符串str原内容为:abcde,函数调用后变为:edcba。#include#includevoid invert (char str ) int i, j, k; j=_2 strlen(str)_; for (i=0; istrlen(str)/2;i+, j-) k=stri; stri=strj; strj=_3_k_; void main() char test=abcde; invert (test); couttest;3. 下列程序打印出1000以内的所有“完全数”。“完全数”是指一个正整数,其所有小于该数的因子之和等于该数本身。例如:6=1+2+3,又如:28=1+2+4+7+14。#include “iostream.h”#include”iomanip.h”void main()int i, j,s; for (j=2; j=1000; j+) s=0; for (i=1; ij; i+) if (_4_s%i = 0_)s+=i; if (_5 s = j_) coutsetw(5)j; 4. 以下程序显示如下所示的矩阵,矩阵中每个元素形成的规律是:右上三角阵(含 对角线)元素值为1,其它元素值为:行下标列下标+1。 1 1 1 1 1 2 1 1 1 1 3 2 1 1 1 4 3 2 1 15 4 3 2 1#include”iostream.h”#include”iomanip.h”main()int i,j, a55; for( i=0; i=4; i+ ) for(j=0; j5; j+ ) if(_6_i=j_)aij = 1; else _7 aij_=i-j+l; for(i=0; i5; i+) for(j=0; j5; j+) coutsetw(3) aij; cout n; 5. 以下scat函数将字符串str2连接到字符串strl之后。运行时, 若输入:Li Ming,回车 Good morning!回车 则输出:Li Ming,Good morning!请填空完成程序。#include iostream.h#include”stdio.h”scat( char *strl, char *str2) while(*strl !=_8_,_) strl+; while( *strl+ =_9_str2_); /*将str2连接到strl的后而*/main() char a500,b300; gets( a ); /从键盘输入一字符串放入a, gets( b ); /字符串中可包含空格 scat( a, b ); couta ; 6. 以下程序是用来输出如下图形: #*#*#*#*#*#*#*#* #*#*#*#*#includeiostream.hmain() int i, j; for( i=1; i=5; i+ ) for( j=1; j=5-i; j+ ) cout ; for( j=1; j=2*i-1; j+ ) if (_10 j%2 = 0_ ) cout * ; else cout # ; cout n; 7. 以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把二者对调,然后输出调整后的5个数。#includeiostream.hmain() int a5, t, i, maxi, mini; for( i=0; i ai; mini=maxi=_11 0_; for( i=1; i ai _) mini=i; if( aiamaxi ) _13_ maxi = i_; cout 最小数的位置是: mini”n”; cout 最大数的位置是: maxi”n”; t=amaxi; _14_amaxi = amini_;amini=t;cout 调整后数的数为:;for( i=0; i5; i+ ) coutai” “;coutn;C+语言程序设计第三次作业编写程序:1. 定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copy constructor, 一negate()成员函数将point的x,y和z值各乘-1, 一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值。#include iostreamusing namespace std;class Pointprivate:double x,y,z;public:Point();Point(double x0, double y0,double z0);void negate();void norm();void print();Point:Point()x = 0;y = 0;z = 0;Point:Point(double x0,double y0,double z0)x = x0;y = y0;z = z0;void Point:negate()x = -1*x;y = -1*y;z = -1*z;void Point:norm()x = 0;y = 0;z = 0;void Point:print()cout(x,y,z)endl;void main()Point point;point.print();Point point1(1,2,-3);point1.negate();point1.print();point1.norm();point1.print();2定义一个Person类,它的每个对象表示一个人。数据成员必须包含姓名、出生年份、死亡年份,一个默认的构造函数,一析构函数,读取数据的成员函数,一个print()成员函数显示所有数据。#include iostreamusing namespace std;class Personprivate:char* name;char* birth;char* death;public:Person();Person();void readIn();void print();Person:Person()name = 空;birth = 空;death = 空;Person:Person()cout类被析构endl;void Person:readIn()cout输入姓名:;gets(name);cout输入出生年份;gets(birth);cout输入死亡年份;gets(death);void Person:print()cout姓名:namen出生年份:birthn死亡年份deathendl;void main()Person person;person.print();person.readIn();person.print();3。定义一个Shape基类,由它派生出Rectanglr和Circle类,二者都有GetArea( )函数计算对象的面积。使用Rectangle 类创建一个派生类Square。#include iostreamusing namespace std;class Shapepublic:double getArea();double Person:Shape()coutgetArea();4. 定义一个Shape抽象类,由它派生出Rectanglr和Circle类,二者都有GetArea( )函数计算对象的面积,GetPerim( ) 函数计算对象的周长。#include iostreamusing namespace std;class Shapepublic:virtual double getArea();virtual double GetPerim();class Rectanglr:public Shapeprivate:double a,b;public:Rectanglr();double getArea();double GetPerim();Rectan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论