奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 602|回复: 3

福建师范大学2024年8月课程考试《C++语言程序设计》作业考核试题

[复制链接]
发表于 2024-6-21 16:54:24 | 显示全部楼层 |阅读模式
谋学网
《C++语言程序设计》期末考试答
% U" J, j; X/ m- ~. V6 o9 m$ [
1 l- J9 K, }& f' n/ L+ o姓名:                   专业:
6 n2 T. H: X! f0 ^7 _) D学号:                   学习中心:
5 m! a6 V" N3 l( N+ q% Z0 ~5 u4 E1 b成绩:$ D$ K2 Y4 B; J; ]8 ]

" D7 v% r5 J- V  S8 c# N" f注意:请在答题纸上作答,否则不得分!
8 |6 z2 ~, F. a( a一、更多资料下载:谋学网(www.mouxue.com)(更多资料下载:谋学网(www.mouxue.com)2分,共20分)- M) f1 u2 u* X  Y3 ~( K' Y5 P/ n
1        2        3        4        5        6        7        8        9        10, v: e4 p" ?( u
                                                                        / j: h' m6 i6 x# ^/ u5 \- \

9 c, c: o  x0 w; r二、填空题(每空2分,共20分)5 w) X" f2 y6 I2 z
1、①               " W+ `+ F8 ?/ f* B6 B. w
2、②               
3 y' u4 ~3 O( x1 x8 M3、③               
4 ?- G$ h5 U8 i/ H5 k8 t4、④               
' G- I& K4 n- H& }  i, k- N' p; C- a5、⑤               / z' \5 x" G4 E" O
6、⑥              
3 _: I2 D+ H6 W0 ^+ o' ], Q+ ^7、⑦               + `7 e9 H$ @  I3 n7 {1 j
8、⑧               
/ K' F9 S. f+ f9 {9、⑨               
1 k* d8 n2 _# s' k! k' J5 @+ ?10、⑩              . w1 B( o, u+ V7 e# R/ K% G- T0 e" g
三、程序填空题(每空3分,共18分)
" O+ S6 N4 b9 G/ P1、①               、②               0 K, G* o" {1 _; i& M; b" P
2、③               、④               
$ Q- w* Q$ [& x* R, w% k3、⑤               、⑥              $ D5 U0 Y2 \( N& _. d1 u* I/ r
四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分)
* H/ Q& W7 D, k2 r+ M+ r6 I- Z& m/ { 1.程序的功能是?其中if块起什么作用?* N1 y/ r$ z- q( v. {9 N* y
#include <iostream>4 r2 O# D% `# Q/ K
using namespace std;8 H1 m1 P% r. l8 {. b5 e* H0 y
int main()1 Y& q! `( r# x. D' }: Z
{  int x;4 P* h2 Q- _$ f9 ^) M( @5 m8 c7 P
   cout << "enter choice(1-4):";$ Q. ?$ a" ?' ~2 s- M+ ?6 q
   cin >> x;
2 H+ {. I) c% i* g% D/ {   while (x < 1 || x > 4)
; h* y4 p) |/ N5 G" f$ p- l   {  cout << "Invalid choice, try again:";
+ J- d0 O* A0 S1 p: w6 _      cin >> x;, I& I6 c1 W$ V( k) U& E: t  h
      if ( cin.fail() )
$ E3 X( V1 v4 d8 O$ q  I* l1 z       {  cin.clear();
' D* n( Y, f  D          cin.sync();
% w* Y# X; s7 B3 h7 G: x- |          cin >> x;& D% _1 j' z/ y2 Q# p$ ?& e3 N
       }9 `2 Z4 T  M7 I8 `4 c  H/ T
   }
, Q/ ~( O, T, y+ d* a& f+ b. Scout << "Had choice:" << x <<endl;
8 ^. q6 H# F# T1 @7 a: r) f! rreturn 0;  }9 Y/ q+ Y9 v/ b  b$ l* C' C. J- w

% P2 D' r& }2 X) c; A& V4 x) ^; d9 b4 e5 o2 d2 L

9 M$ {8 w9 ^* s4 w6 |* F3 T  }! A8 N* G9 ?  U

2 M7 Q, ?# Z; M. p0 m. `. n
5 k. w: M, }8 J5 @) a) Q
0 b  D+ I% O0 s  A/ v$ M$ W; L0 g0 a4 L1 K. i8 w
) p8 B* Z+ p: B

8 u" G- p: _( V) `9 S5 ?' p* m# p' h% c
2.给出下面程序输出结果。 5 @5 N/ O2 i! X0 V
#include <iostream>
/ g1 V, ~, V6 `, z" H& jusing namespace std;
# O- M- D- q! y5 I- K) @class Test " L+ W* [& ~  G3 `1 `; b" A
{  public: & ~. F  h' |. B
Test( int i, int j=0 ){x=i; y=j;} 7 }: T# i* G4 a* n  V
int get( int i, int j ) {return i+j+x+y;}: l( b& D6 S3 }2 l! ^) M( t7 }
private:. I* Y/ o& ]6 _7 x
int x,y;  };
$ s  @9 t- Y) L  g4 `8 X( t, n/ jint main( )
# m& a- j, O4 i2 Q4 ~; X( h{  Test t1(2), t2(4,6);
: N5 P, ?  m" K# {0 {int (Test :: *p)(int, int);
. ~& S2 z; {7 |9 wp=&Test::get;- ]* Q2 J- G# L5 {7 B  g8 y8 f
cout<<(t1. *p)(5, 10)<<endl; 2 W3 L  D! I) `7 _; E( s) R
cout<<(t2. *p)(7, 20)<<endl;
( o# p) g# r  E+ E6 a& B$ x" qreturn 0;   }5 O  h8 _1 |/ V3 s5 P& |  ?9 @$ Z

5 N3 O0 {3 w& I/ A; K8 j! c) S( [& v" ~9 P6 I3 J& e
) i  M* [% u' O' [# N1 `
五、模板设计题(第1小题8分,第2小题8分,共16分)
* ~8 ], x8 @$ ^$ V  N) s1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。
* V9 C8 ~+ J- ^8 W' _* F/ U& B
" O) |4 H" y7 J/ H. I3 e5 a. {; A; `2 W) ~' A5 S% b2 E& R6 V
. S  t8 Y6 L  J9 V0 d

  f, M. f' [6 T& O# H6 l/ h. t" L6 ]. ^6 H7 |& K7 ~2 @# x
  B/ y1 [$ P! L; l

* c* O: ]4 r$ g* v2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
7 Z( r6 r5 h; e# q' Ftemplate<class T, int m, int n>
$ l; m* r  B1 Aclass  Matrix+ F* n3 O2 @$ O- Y: w
{  public:! v- @' J3 p/ E5 A" i, S
      Matrix( );
6 o6 u- l# H8 i* r" k" H: T% `4 ?      Matrix(T a[][n]);
7 B5 [" b% ]6 ~5 I      Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2);   
- z" U) C& F# [; Q# Y* E      void  Mdisplay( );
) ]& e, W9 Y3 B+ f" x' S   private:
4 @7 k" U, _) G( H1 x; ~5 u- o7 |      T x[m][n];  };! d, b' P. W4 I: l# Z

" a! |! ^. e, d$ v. P8 @6 s# G
* s, m* W9 a5 J! r. W1 X. D( s6 R: M- h* B: q( t

) ~+ S) M  D  j0 @% i. A: R' A# ~7 P) P7 a6 \1 a( x4 J& {
% m! N& C5 d/ F6 J- M, ^+ ^/ i* m
5 S0 S; N1 X8 `1 [3 r' I

# Q* h: \, Z& Y$ }& b0 H. i+ ~- o, d4 |$ E* X4 U3 O  R2 G% P( x$ p3 t  P
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分)
6 k* ]6 \- e9 A1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:8 t: b" M+ G) a- ]7 K- b' V* R
class linearfit
( Y! s3 M" s4 K6 A  h) C$ c{7 R* ~5 [7 T4 h; x3 q7 {& _
        public:8 v- f1 H  ~8 b8 ?! y4 ]1 x
                  linearfit( );8 f. }9 F0 N* ^7 i8 r' F8 k% M: p
                void fit(double x[],double y[],int n);; N4 V/ r3 T4 ?( \3 H1 e
                void val(double z[],double x[],int n);
  b6 ^2 \8 T3 Z( `+ _4 t                double geta0( ){return a0;}6 x3 x0 Z/ [( `2 v0 q
       double geta1( ){return a1;}
( R3 u) m# p2 ~                void show( );2 J5 `5 L; Q) h- W) A% X- Z; u. a! [$ p
       void show(double x[],double z[],int n);
' C( V8 E2 d4 s" K0 x7 ^$ Y( S8 w   private:0 w" v# w6 V1 V
                 double a0,a1;
5 O# A0 P7 }2 d% H% ^};
8 ?5 s- e, [9 T! i' P+ n8 r: |6 ?
: ?) C; C6 R: K( I& E3 I" D* u
3 l/ E1 f4 e6 _请完成如下内容(分别注明类内与类外部分):# `/ D" ~  O4 }9 I
①类外定义无参构造函数,使成员a0和a1的初值为0;
) E+ l( `- C' K②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。
( V: q4 d: C9 k/ E) O, G: V 1 s3 z2 W3 J/ _  b3 B/ p
③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)5 a6 G  E( w6 y3 e2 h# s

- V) @( v7 v* S$ ?) d6 |. C0 r0 |  `) k
. @1 E. d; m# L- E" g7 Z
, h' k9 k# g9 `2 b. M3 e
《C++程序设计》期末考试试卷) T1 B; t! m0 t% Z" V  c. n' @! S
注意:全卷请在答题纸上作答,否则不得分!
8 {; h' Z) `: A) a) U  p. U, ]一、更多资料下载:谋学网(www.mouxue.com)(在更多资料下载:谋学网(www.mouxue.com)的四个备选答案中,选出一个正确的答案,并将答案代码写在答题纸上。更多资料下载:谋学网(www.mouxue.com)2分,共20分)  p3 B3 _( t; o; p* [- Y. B
1、下面的哪个保留字不能作为函数的返回类型(   )。 $ l: ~8 Z) ]1 s
A. void        B. int         C. new         D. long * J$ f: H: I% G2 U
2. 决定C++语言中函数的返回值类型的是(  )。
4 q' J: N. r' ?/ pA. return语句中的表达式类型         
) }# t% _- I8 Q+ {B. 调用该函数时系统随机产生的类型 . S" ]" g6 l! G; b7 O& ]
C. 调用该函数时的主调用函数类型    6 d+ I, p7 w. N/ w/ U* f
D. 在定义该函数时所指定的数据类型 ! n, ]3 V# H" l# A2 M
3. 一个函数功能不太复杂,但被频繁调用,则应把它定义为(   )。 ; r; k5 `' d; ^# L. \2 n7 b& ?
A. 内联函数        B. 重载函数    $ g: a& s4 ?/ ?' f- v6 T1 e- J9 L
C. 递归函数        D. 嵌套函数
1 N+ a) H( F9 v4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个整体,这整体就是(   )。
! I& {3 V: Y3 J2 y# aA.结构体      B. 对象      C. 函数体      D. 数据块
8 e- u2 @+ L% x+ F7 p/ Z- |6 d5. 下列不能作为类的成员的是(   )。. H7 G1 U5 K1 c6 K( u' c
A. 自身类对象             B. 自身类对象的指针 # r1 |2 L3 T* s/ b
C. 自身类对象的引用       D. 另一个类的对象 2 X  L' c4 l( K) o6 t5 j
6、假定AB为一个类,则执行“AB  a(4) , b[3] , * p[2] ”语句时,自动调用该类构造函数的次数为(   )。
0 a8 B! j8 [" aA. 3           B. 4            C. 6            D. 9 # w: V- W% m4 `* J
7. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后 ,x.a和x.b的值分别为(   )。 % ]; R& c9 V3 G3 N, C, I, E
A. 4和15      B. 4和5      C. 4和20      D.3和20
" j8 f8 N( O2 R4 t) k8. 在类中说明成员可以使用的关键字是(   )。   ]6 _3 ?# x6 N& y1 u
A. register      B. extern      C. cpu       D. public $ `! x- [' d0 k, H* j  j
9.假定AA为一个类,a( )为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a( )的格式为(   )。$ l/ t" v: C( L
A.x.a      B.x.a( )      C.x->a      D.(*x).a( )0 m' I# Q# t' T5 g
10. 下列程序的输出结果是(   )。
' [& Q$ k% j8 U) H# n; u4 K5 D#include <iostream >
) o( h" H7 p6 L8 m# W6 Eusing namespace std;
+ G5 I% H3 d0 [( h8 [9 }0 M& R7 C& mint main()
& Y/ u# Q0 C1 S$ K* S9 R{  int a[][3]={10,20,30,40,50,60}; 5 j2 `2 p5 ]- A7 ~( v
   int (*p)[3];
$ |7 }0 F4 t+ S. v0 D5 h- Y( e* {   p=a; ! H* `; a: A( S& l' x4 _* D
   cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;  }! |) G2 i9 q0 p. [
A. 10,20,30       B. 10,30,50   
9 A  z' n+ R' u3 |8 N% WC.20,40,60        D.10,30,60
: Z1 f% a! b3 T/ a6 L二、填空题(每空2分,共20分)注:请在答题纸上做答,答案前注明题目号和填空号。
- W) ?& F$ U/ i$ @: P7 u1.在C++面向对象的程序设计中,将一组对象的共同特性抽象出来形成   ①   。
& Q9 B; m* B- _7 w7 [$ G2.表达式cout<<endl; 中的endl也可表示为   ②    。' n0 J; |9 _; b9 p; n- C
3.如下while循环执行次数是   ③   。
( ?3 N$ V6 _. u, m6 bint n=0;. ]) i+ K" s8 Z1 M& Q# x
while(n=1)n++;1 j2 }. R! ^4 O7 S' Q
4.每个对象都是所属类的一个   ④   。
! e& @) R* i$ ~3 G5.用new来动态分配有10个元素的整型数组单元,并用指针ip指向该单元,应使用语句   ⑤   。
" M2 a7 Z, h/ F1 W" \6.函数模板中,template< >尖括号内用于表示“类型名”参数的保留字是   ⑥    。
6 s3 S) `0 O0 y7 E7.假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的一个新对象时,会调用   ⑦   构造函数来完成此功能。
$ x8 \0 {  r3 d& h' }& f9 Q; W' t6 S0 {8.对赋值运算符进行重载时,应声明为   ⑧   函数。) f+ h$ G0 Y5 U! C. Y  W) ?# ]
9.如果要把A类成员函数fun( )且返回类型为void声明为类B的友元函数,则应在类B的定义中加入的语句   ⑨   。
" ^4 C) y2 b  s8 y10.定义类的动态对象数组时,系统只能自动调用该类的  ⑩   构造函数对其进行初始化。 2 ]2 l. d: ~4 A* B0 L: h

- _+ A7 G9 E! h( O" z- z" o三、程序填空题(每空3分,共18分)7 I1 y  d) g7 G5 G2 J# d
1.在下面程序横线处填上适当字句,使该程序执行结果为反向输出数组的元素:
1 U7 I0 Z7 T1 n" t6 H# ^& E1 d50, 40, 30, 20, 10
+ [) |3 O  }" }" ^5 p: D$ U0 }0, 7.5, 8.4, 9.3, 10.2, 11.1
$ Q  |5 k+ f( g- ?1 e#include <iostream>
7 z6 n! B. N1 L. j3 Ousing namespace std;8 M( A* _2 ]( q5 Y+ R
template <class T>
: i) y! E$ `/ ]+ E) Y. V' o# bvoid  fun(              ① )
0 \$ {, g, h! J' K/ c* w{                  ② ;* F7 Z0 R. n( a1 i4 v& ?. l0 p

- K7 j( \1 D* Kfor( int i=0; i<n/2; i++)9 q: \# `7 s$ a* ]! k$ Y1 H
{  t=a; a=a[n-1-i]; a[n-1-i]=t; }
% _# Q5 z, |8 [6 T9 N}+ O: S6 W9 j$ U7 O+ A
int main( )
+ m1 v' `' I; L, Q9 w{  int  i,a[5]={10, 20, 30, 40, 50};. q6 @3 f# T, n8 H+ p$ s3 D. W
double  d[6]={11.1, 10.2, 9.3, 8.4, 7.5};$ U3 N" o9 _% O5 H# {
fun(a, 5); fun(d, 6);4 ~  L, F0 n6 U) N6 \/ L  `
for ( i=0; i<5; i++)  cout << a << ",";8 m; G0 o( u3 \% C4 ~
cout <<endl;   \  g6 B7 v% m$ A9 F4 `# e
for ( i=0; i<6; i++)  cout << d << ","; - G0 c+ [. W6 @- q) J2 {/ |0 [
cout << endl;  }    ( I/ a5 B/ l3 l( x1 s1 {! i
2. 在下面程序的底画线处填上适当的字句,使该程序执行结果为37。 4 r9 T1 p6 J: l# W; e5 D' ]
#include <iostream> , I: l+ w9 w+ X6 g' B* B# M: e
using namespace std;" e; L0 @0 q. X0 a4 z
class Test ! l- G. N9 k% s# A
{ public:
  |7 ~2 L9 R% x1 O2 }) \Test (int i=10) {x=i+x;}
% a! e% {* @* \9 c1 I9 g: b& xstatic int Getnum( ) {return Test:: x;}
5 W; q$ t, j( X$ W) P2 [# |# Q8 q  private:  i: l9 v. R) d
            ③ ;
# e7 X. f% U8 b+ s$ y
. I! W5 f: c$ y$ Q3 G9 f- z/ X}; - B1 F3 I/ ~$ X" v* b( }7 C
             ④ ;
" y; U! y' [% w. A$ e0 T- ~& Q7 P2 Yint main( ) % T3 J# M" {/ [! l8 v
{ Test test1, test2(7); 6 }0 f, [  ?4 g( T
cout<< Test :: Getnum( ) << endl; & H5 M6 K: s- k* j* a
}     ( |% w( w2 j7 B) I  D, n1 v
3.产生10个[1-100]之间的随机数并输出显示,数间用空格分隔。6 G5 K/ H7 Q+ ~: k  J2 F! L
#include <iostream>
6 g8 z! ]# Y$ H6 U8 D3 W* {#include <time.h> : [5 R! x3 Z0 n, z+ X6 L* r# r
using namespace std;; E# @+ s5 x" C8 b  k
- B( E+ O6 Z/ j4 }
int main( )
* P8 c5 z- x* C7 u; ^2 Q  u5 L0 Y{ int i,a[11];
9 ^0 d# \$ \( g" u. B; _srand(time(NULL));4 W/ ^) J1 Y/ w# P5 V
for( i=1; i<=10; i++)
7 ?5 o; ~& T- F  G                           ⑤  8 p. n7 K2 J$ l: d
for ( i=1; i<=10; i++)
  r; D& _0 \; W- N                  ⑥ ) l9 S$ }9 I- b: E  j( `: z  D  B" A
cout << endl;
+ P* \" h0 `5 v" ?3 @return 0;
2 N+ L& D" ^6 s}- O& k( Y4 |6 k0 E
" f" {) k) T' |7 N4 j
四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分)
1 ^/ W7 }7 l* G5 b/ j4 W 1.程序的功能是?其中if块起什么作用?
7 u0 I' v0 x& }9 i+ d3 S; W#include <iostream>
8 M% y, K3 N8 o0 s' s! @7 V( Lusing namespace std;
2 E% v( P$ }" e) h- Kint main()
+ @* c2 M% k7 ~, t9 _{  int x;8 e, m3 Z1 r9 l7 n/ J0 T
   cout << "enter choice(1-4):";
5 z. L; ]6 T; O6 l, b, i" w$ X   cin >> x;
" z9 W$ ]: Q% y+ W: p- E* A   while (x < 1 || x > 4)
/ P, Z( _# {- N. a5 w5 z  x% I. s   {  cout << "Invalid choice, try again:";% @/ g7 e# b& P1 @
      cin >> x;3 X6 }* P! L( Q6 ]* Q% |" E( p
      if ( cin.fail() )
; c' s4 f) z1 I: g6 ]       {  cin.clear();
9 X' E- J5 Q- E3 j3 z          cin.sync();& d. n9 X9 t0 G2 `# j3 ?
          cin >> x;" r9 y# F. E+ D) {1 `- ^$ f( N
       }/ w& A6 Z+ g( N3 }* X" M" w
   }& p2 R% o7 o  J% {- C
cout << "Had choice:" << x <<endl;) c  b$ U6 ~. j! Q, b
return 0;  }
7 u) z" E3 M3 ?6 e
& \2 B1 B0 i$ Y* I" n2.给出下面程序输出结果。
% r, j4 E% j+ V2 s#include <iostream>
" _  u6 E! G+ ?& c, Husing namespace std;
0 o3 D7 O* q* I9 P! zclass Test + m9 [! l0 W- @- }+ }
{  public: 5 |- i# x" y6 u
Test( int i, int j=0 ){x=i; y=j;}
% W. i$ v5 B+ r6 Cint get( int i, int j ) {return i+j+x+y;}
$ n: U9 W1 S3 i, }private:$ X/ l, @5 p9 q3 I2 L  k
int x,y;  }; % v5 K/ H' J+ V/ P7 S
int main( )
- h$ q4 O! ~5 \  f5 E  o{  Test t1(2), t2(4,6);
" C- Z5 o  E% d  P9 w7 yint (Test :: *p)(int, int); 2 z% z* Z! m5 b! W
p=&Test::get;/ m. |, Z( O$ C
cout<<(t1. *p)(5, 10)<<endl; . A/ Q5 P' x( g3 N
cout<<(t2. *p)(7, 20)<<endl;
% R8 @+ d8 B1 N* c' A5 w; Xreturn 0;   }
; R0 f7 |$ p1 G) N6 Q0 N  o7 d3 x% N9 R5 B
五、模板设计题(第1小题8分,第2小题8分,共16分)
, S6 G+ X4 w3 H" o9 N' G5 k1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。  O9 `, H. u+ B$ Z7 r. y# Y
2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
) L* {" y) `1 B/ H6 [6 H0 h  }template<class T, int m, int n>! o0 p5 q; `% H' E
class  Matrix
5 Q8 Y  ~: f& y" n0 t5 S{  public:
% p, [; o3 p- f* z5 h2 t      Matrix( );/ F* v7 o1 e6 p! z0 @' F. f% J
      Matrix(T a[][n]);
3 D& O% X% V# {7 k8 `) h" g0 N      Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2);   8 D8 ]# y* y0 ^" Q/ g3 B( P+ G  ~" b6 f
      void  Mdisplay( );
" h7 }( p$ Y& S( S   private:! J3 ?; N! F! m% \9 M# Y
      T x[m][n];  };
# P8 [+ U" T' Q  i; m$ T1 ]: J7 R3 [4 q. c) `" u
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分), q2 O  N& W% L7 m
1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:# G: m3 T6 k( W
class linearfit
0 W, s9 Y5 p) N- t7 u{
* m! v  R( d* T) z, {4 Q        public:
; L/ t  ~+ c# J                  linearfit( );
5 y! J1 G; J6 p6 F7 p8 n                void fit(double x[],double y[],int n);
$ F! b4 E( C" Y* k                void val(double z[],double x[],int n);* w9 d/ x- G. v1 ]4 }
                double geta0( ){return a0;}
' J: y: J+ ]# ^$ S9 o       double geta1( ){return a1;}8 u0 p# v) ]5 b$ S' U- M1 L
                void show( );
) _7 y' ~/ f0 }9 B& N       void show(double x[],double z[],int n);$ q* c, o( A# b& ]5 |
   private:
/ R/ _! b4 \& H( f6 u                 double a0,a1;
' Z0 t; E; h8 f) |$ ?4 {. {};1 w& u' Z( O% r1 n6 w+ s, O
+ C' h$ @0 w8 r& b7 }( L% e2 A! V

5 k3 u5 V7 C3 [! b( r6 _1 o8 c# E请完成如下内容(分别注明类内与类外部分):
4 C0 q( }& t$ @2 m2 B: [①类外定义无参构造函数,使成员a0和a1的初值为0;" D. k7 W* C: ^* s& X' p! ]
②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。! m+ B, W$ Q- U2 E

. c# I( I0 N# H, ~③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)
% X# L+ y2 d4 w
' r; _; @9 }+ Y2 {* \% U/ F; u, n7 p& ]* q
1 C5 ]4 s( F& D  _9 v2 V$ y
. `2 x0 @5 c1 c+ H- |; J! o

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
奥鹏作业答案,奥鹏在线作业答案
发表于 2024-6-21 16:59:35 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2024-6-21 17:19:45 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2024-6-21 17:39:55 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2025-1-23 00:51 , Processed in 0.115845 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2025 Tencent Cloud.

快速回复 返回顶部 返回列表