文档库 最新最全的文档下载
当前位置:文档库 › 实验5(1) 参考答案

实验5(1) 参考答案

实验5(1)  参考答案
实验5(1)  参考答案

实验5(1) 类的组合

参考答案

一、实验目的与实验要求

(1)理解类组合的概念与作用。

(2)掌握对象成员的定义方法,理解对象成员的构造与析构方法。

(3)理解组合后类的构造函数与析构函数的调用次序。

(4)掌握对象成员中私有成员和保护成员的访问方法。

二、实验内容

题目1:对象成员的定义、构造与访问。

定义三个类Member1、Member2和New。Member2中包含有Member1类型的成员,New中包含有Member1与Member2类型的成员。程序的具体要求如下。

①在Member1类中,它含有一个int型私有数据成员x以及三个公有成员函数。三个成员函数分别为构造函数、析构函数与显示函数show( )。show( )函数的作用是输出x的值。

②在Member2类中,它含有三个私有数据成员,分别是Member1型的对象obj1、obj2与int型的数据y。此外,它还含有三个公有成员函数,分别是构造函数、析构函数与显示函数show( )。show( )函数的作用是输出y的值。

③在New类中,它含有三个私有数据成员,分别是Member1型的对象m1、Member2型的对象m2与int型的数据z。此外,它还含有三个公有成员函数,分别是构造函数、析构函数与显示函数show( )。show( )函数的作用是输出z的值。

④main( )函数中定义一个New型的对象,并调用show( )函数。

程序为:

#include

using namespace std;

class Member1

{

public:

Member1(int a)

{

x = a;

cout << "constructing Member1 " << x << endl;

}

~Member1( )

{

cout << "donstructing Member1\n";

}

void show( )

{

cout << "Member1 x = " << x << endl;

}

private:

int x;

};

class Member2

{

public:

Member2( int a,int b,int c ):obj1(a),obj2(b)

{

y = c;

cout << "constructing Member2 " << y << endl;

}

~Member2( )

{

cout << "donstructing Member2\n";

}

void show( )

{

cout << "Member2 y = " << y << endl;

}

private:

Member1 obj1, obj2;

int y;

};

class New

{

public:

New( int a,int b,int c,int d,int e): m1(a),m2(b,c,d)

{

z = e;

cout << "constructing New " << z << endl;

}

~New( )

{

cout << "donstructing New\n";

}

void show( )

{

cout << "New z = " << z << endl;

}

private:

Member1 m1;

Member2 m2;

int z;

};

int main( )

{

New ex(1,2,3,4,5);

ex.show( );

return 0;

}

题目2:类组合的应用。

编写一个程序,对一批学生的资料进行处理。程序的具体要求如下。

①编写日期类Date,它含有三个私有int型数据成员year、month、day,分别表示年、月、日。此外,它还含有五个公有成员函数,分别是构造函数、显示函数Show( )、取值函数GetYear( )、GetMonth( )和GetDay( )。Show( )的功能是输出当前对象的日期,GetYear( )、GetMonth( )、GetDay( )的作用分别是返回year、month和day的值。

②编写学生类Student,它含有三个私有数据成员,分别是字符串型变量name、int型变量score与Date型变量birthday,分别表示学生的姓名、成绩与出生日期。此外,它还含有五个公有成员函数,分别是构造函数、显示函数Show( )、取值函数GetName( )、GetScore( )和GetDate( )。Show( )的功能是输出当前对象的所有信息,GetName( )、GetScore( )、GetDate( ) 的作用分别是返回name的首地址、score的值以及birthday的值。

③编写函数CompareDate。它的原型如下,它的作用是比较日期d1和d2的前后。如果d1在d2前,返回-1,如果d1在d2后,返回1,如果d1和d2是同一天,返回0。

int CompareDate( Date d1, Date d2 );

④编写函数SortByName。它的原型如下,它的作用是对st数组的前num个数据按姓名进行排序。

void SortByName( Student * st , int num );

⑤编写函数SortByScore。它的原型如下,它的作用是对st数组的前num个数据按成绩进行排序。

void SortByScore( Student *st , int num );

⑥编写函数SortByBirthday。它的原型如下,它的作用是对st数组的前num个数据按出生日期进行排序。

void SortByBirthday( Student * st, int num );

⑦编写函数PrintStudent。它的原型如下,它的作用是输出st数组的前num项。

void PrintStudent( Student *st , int num );

⑧编写主函数main( ),在main( )中定义对象数组st,并调用上述函数进行测试。st数组使用下列数据进行初始化。

Jack, 99, 1990, 2, 5

Mike, 62, 1989, 12, 25

Tom, 88, 1990, 3, 14

Kate, 74, 1989, 10, 15

Rowen, 92, 1990, 5, 22

程序如下:

#include

using namespace std;

class Date

{

public:

Date( int y = 2000 , int m = 1 , int d = 1 )

{

year = y;

month = m;

day = d;

}

void Show( )

{

cout << year << "-" << month << "-" << day << endl;

}

int GetYear( )

{

return year;

}

int GetMonth( )

{

return month;

}

int GetDay( )

{

return day;

}

private:

int year;

int month;

int day;

};

class Student

{

public:

Student( int y=0,int m=0,int d=0,int s=0,char *p=" " ): birthday(y,m,d)

{

strcpy( name, p );

score = s;

}

void Show( )

{

cout << name << " " << score << " ";

birthday.Show();

}

char * GetName( )

{

return name;

}

int GetScore( )

{

return score;

}

Date GetDate( )

{

return birthday;

}

private:

char name[20];

int score;

Date birthday;

};

int CompareDate( Date d1, Date d2 );

void SortByName( Student *, int num );

void SortByScore( Student *, int num );

void SortByBirthday( Student *, int num );

void PrintStudent( Student *, int num );

int main( )

{

Student st[5] = {Student(1990,2,5,99,"Jack"),

Student(1989,12,25,62,"Mike"),

Student(1990,3,14,88,"Tom"),

Student(1989,10,15,74,"Kate"),

Student(1990,5,22,92,"Rowen")};

PrintStudent( st,5);

cout<

SortByName(st,5);

PrintStudent(st,5);

cout<

SortByScore(st,5);

PrintStudent(st,5 );

cout<

SortByBirthday(st,5);

PrintStudent(st,5);

return 0;

}

int CompareDate( Date d1, Date d2 )

{ //int t;

if (d1.GetYear()

return-1;

else if(d1.GetYear()==d2.GetYear())

if(d1.GetMonth()

return -1;

else if (d1.GetMonth()==d2.GetMonth())

if(d1.GetDay()

return -1;

else if (d1.GetDay()==d2.GetDay())

return 0;

else return 1;

else return 1;

else return 1;

}

void SortByName( Student *st, int num )

{

Student t;

int k;

for(int i=0;i

{ k=i;

for(int j=i+1;j

// if(st[k].GetName()>st[j].GetName())

if(strcmp(st[k].GetName(),st[j].GetName() )>0)

k=j;

t=st[k];

st[k]=st[i];

st[i]=t;

}

}

void SortByScore( Student *st, int num )

{

Student t;

int k;

for(int i=0;i

{ k=i;

for(int j=i+1;j

if(st[k].GetScore()

k=j;

t=st[k];

st[k]=st[i];

st[i]=t;

}

}

void SortByBirthday( Student *st, int num )

{

Student t;

int k;

for(int i=0;i

{ k=i;

for(int j=i+1;j

if(CompareDate(st[k].GetDate(),st[j].GetDate())==1) k=j;

t=st[k];

st[k]=st[i];

st[i]=t;

}

}

void PrintStudent( Student *st, int num )

{ for (int i=0;i

st[i].Show();

}

运行结果为:

Jack 99 1990-2-5

Mike 62 1989-12-25

Tom 88 1990-3-14

Kate 74 1989-10-15

Rowen 92 1990-5-22

Jack 99 1990-2-5

Kate 74 1989-10-15

Mike 62 1989-12-25

Rowen 92 1990-5-22

Tom 88 1990-3-14

Jack 99 1990-2-5

Rowen 92 1990-5-22

Tom 88 1990-3-14

Kate 74 1989-10-15

Mike 62 1989-12-25

Kate 74 1989-10-15

Mike 62 1989-12-25

Jack 99 1990-2-5

Tom 88 1990-3-14

Rowen 92 1990-5-22

Press any key to continue

三、实验指导

题目1指导:

①程序的主要代码如下,在横线上补充相应的语句。

#include

using namespace std;

class Member1

{

public:

Member1(int a)

{

x = a;

cout << "constructing Member1 " << x << endl;

}

~Member1( )

{

cout << "donstructing Member1\n";

}

void show( )

{

cout << "Member1 x = " << x << endl;

}

private:

int x;

};

class Member2

{

public:

Member2( (1)): (2)

{

y = c;

cout << "constructing Member2 " << y << endl;

}

~Member2( )

{

cout << "donstructing Member2\n";

}

void show( )

{

cout << "Member2 y = " << y << endl;

}

private:

Member1 obj1, obj2;

int y;

};

class New

{

public:

New( (3)): (4)

{

z = e;

cout << "constructing New " << z << endl;

}

~New( )

{

cout << "donstructing New\n";

}

void show( )

{

cout << "New z = " << z << endl;

}

private:

Member1 m1;

Member2 m2;

int z;

};

int main( )

{

New ex( (5));

ex.show( );

return 0;

}

②观察程序的运行结果,分析构造函数与析构函数的调用次序。答:运行结果如下:

constructing Member1 1

constructing Member1 2

constructing Member1 3

constructing Member2 4

constructing New 5

New z = 5

donstructing New

donstructing Member2

donstructing Member1

donstructing Member1

donstructing Member1

Press any key to continue

构造函数的调用次序是:

首先调用对象成员的构造函数,多个对象成员时按定义顺序执行其对应的构造函数;然后调用对象自身的构造函数。析构时其调用顺序与构造函数顺序相反。

New ex(1,2,3,4,5);时,构造函数的调用调用顺序为:

m1的构造函数Member1 1

m2的构造函数,首先调用obj1的构造函数Member1 1,然后调用obj2的构造函数Member1,最后调用m2 自己的构造函数Member2

调用ex自身的构造函数New

析构函数调用的过程相反。

③改变Member2构造函数初始化表中各项的次序,并再次运行程序,观察结果并分析构造函数与析构函数的调用次序。

答:因为构造函数的调用与初始化表中各项的次序无关,如果参数对应的对象成员不变,结果也不变。

④在Member2构造函数中添加语句obj1.x = 50是否可行?分析其原因。

答:不可行。

原因:

输出窗口区显示:error C2248: 'x' : cannot access private member declared in class 'Member1'

因为x在Member1 中是私有成员,在Member2类中不能直接访问Member1中的私有成员。

⑤在main( )中添加下列语句是否可行?分析其原因。

ex.m1.show( );

ex.m2.show( );

答:不可行。

原因:

输出窗口显示:'m1' : cannot access private member declared in class 'New'

'm2' : cannot access private member declared in class 'New' m1,m2在New类中属于私有的对象成员,在类外的main函数中不可直接访问。

⑥在Member2与New中的show( )函数添加语句,使得main( )中ex.show( );能输出所有x、y和z的值。

答:Member2中的show( )函数修改为如下:

void show( )

{

cout<<"obj1. ";

obj1.show();

cout<<"obj2. ";

obj2.show();

cout << "Member2 y = " << y << endl;

}

New中的show( )函数修改为如下:

void show( )

{

cout<<"m1. "; m1.show();

cout<<"m2. "<

cout << "New z = " << z << endl;

}

运行结果为:

constructing Member1 1

constructing Member1 2

constructing Member1 3

constructing Member2 4

constructing New 5

m1. Member1 x = 1

m2.

obj1. Member1 x = 2

obj2. Member1 x = 3

Member2 y = 4

New z = 5

donstructing New

donstructing Member2

donstructing Member1

donstructing Member1

donstructing Member1

Press any key to continue

题目2指导:

①Date类、Student类与main( )的主要代码如下,在横线上补充相应的语句。class Date

{

public:

Date( int y = 2000 , int m = 1 , int d = 1 )

{

year = y;

month = m;

day = d;

}

void Show( )

{

cout << year << "-" << month << "-" << day << endl;

}

int GetYear( )

{

return year;

}

int GetMonth( )

{

return month;

}

int GetDay( )

{

return day;

}

private:

int year;

int month;

int day;

};

class Student

{

public:

Student( (1)): (2)

{

strcpy( name, p );

score = s;

}

void Show( )

{

cout << name << " " << score << " ";

(3);

}

char * GetName( )

{

return name;

}

int GetScore( )

{

return score;

}

Date GetDate( )

{

return (4);

}

private:

char name[20];

int score;

Date birthday;

};

int main( )

{

Student st[5] = { (5)};

PrintStudent( (6));

SortByName( (7));

PrintStudent( (8));

SortByScore( (9));

PrintStudent( (10));

SortByBirthday( (11));

PrintStudent( (12));

return 0;

}

②声明、实现下列函数,并运行程序进行测试。

int CompareDate( Date d1, Date d2 );

void SortByName( Student *, int num );

void SortByScore( Student *, int num );

void SortByBirthday( Student *, int num );

void PrintStudent( Student *, int num );

四、实验预习

(1)阅读主教材第5章全部内容,理解教材中的示例程序。

(2)阅读本次实验内容及对应的实验指导,提前编写源程序。

MATLAB课后实验答案

%实验一MATLAB运算基础 %第一题%(1) z1=2*sin(85*pi/180)/(1+exp(2)) %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2)) %(3) a=-3.0:0.1:3.0; z3=(exp(0.3*a)-exp(-0.3*a))/2.* sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t>=0&t<1)+(t.^2-1).*( t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t <3)%第二题 A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; A+6*B A-B+eye(size(A)) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2]%第三题 A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] C=A*B F=size(C) D=C(F(1)-2:F(1),F(2)-1:F(2)) whos%第四题 %(1): A=100:999; B=rem(A,21); C=length(find(B==0)) %(2): A='lsdhKSDLKklsdkl'; k=find(A>='A'&A<='Z'); A(k)=[] %实验二MATLAB矩阵分析与处理 %第一题 E=eye(3); R=rand(3,2); O=zeros(2,3); S=diag([2,3]);%判断AB是否相等 A=[E,R;O,S];A^2 B=[E,(R+R*S);O,S^2] %第二题 H=hilb(5) P=pascal(5) Hh=det(H) Hp=det(P) Th=cond(H) Tp=cond(P) %第三题: A=fix(10*rand(5)) H=det(A)Trace=trace(A) Rank=rank(A)Norm=norm(A) %第四题: A=[-29,6,18;20,5,12;-8,8,5] [V,D]=eig(A)%数学意义略 %第五题方法一: %(1): A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4, 1/5,1/6]; b=[0.95,0.67,0.52]'; x=inv(A)*b %(2): B=[0.95,0.67,0.53]'; x=inv(A)*B %(3): cond(A) %第五题方法二: A=hilb(4) A(:,1)=[] A(4,:)=[] B=[0.95,0.67,0.52]'; X=inv(A)*B B1=[0.95,0.67,0.53]'; X1=inv(A)*B1 N=cond(B) N1=cond(B1) Na=cond(A) %矩阵A为病态矩阵 %第六题 A=[1,4,9;16,25,36;49,64,81] B=sqrtm(A) C=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算 %实验三选择程序结构设计 %第一题程序一 x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5. 0]; y=[]; %建立存放所有y值的矩阵

实验5 类和对象1答案

实验5:Java类与对象 一、实验目的 (1)使用类来封装对象的属性和功能; (2)掌握Java类的定义。 (3)java对象的使用 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。 三、实验内容 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。 class Student{ long studentID; int classID; String name; String sex; int age; public Student(long studentID,int classID,String name,String sex,int age){ this.studentID=studentID; this.classID=classID; https://www.wendangku.net/doc/1816483061.html,=name; this.sex=sex; this.age=age; } public long getStudentID(){ return studentID; } public int getClassID(){

C语言实验报告参考答案(原)

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include<> main() { int a,b,c,x,y;

a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18; d=170; x=(a+b)/(b-c)*(c-d);

printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将0赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3

实验5(答案)

实验五 连续系统分析 一、实验目的 1.深刻理解连续时间系统的系统函数在分析连续系统的时域特性、频域特性及稳定性中的重要作用及意义,掌握根据系统函数的零极点设计简单的滤波器的方法。 2.掌握利用MATLAB 分析连续系统的时域响应、频响特性和零极点的基本方法。 二、实验原理及内容 MATLAB 提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。 1. 连续系统的时域响应 连续时间LTI 系统可用如下的线性常系数微分方程来描述: ) ()( )()(01)1(1)(t y a t y a t y a t y a n n n n ++++-- )()( )()(01)1(1)(t x b t x b t x b t x b m m m m ++++=-- 已知输入信号x (t )以及系统初始状态)0(,),0('),0()1(----n y y y ,就可以求出系统的响应。 MATLAB 提供了微分方程的数值计算的函数,可以计算上述n 阶微分方程描述的连续系统的响应,包括系统的单位冲激响应、单位阶跃响应、零输入响应、零状态响应和完全响应。 在调用MATLAB 函数时,需要利用连续系统对应的系数函数。对微分方程进行Laplace 变换即可得系统函数: 1110111)()()(a s a s a s a b s b s b s b s X s Y s H n n n n m m m m ++++++++==---- 在MATLAB 中可使用向量和向量分别保存分母多项式和分子多项式的系数: ],,,,[011a a a a a n n -= ],,,,[011b b b b b m m -= 这些系数均按s 的降幂直至s 0排列。 ● 连续系统的单位冲激响应h (t )的计算 impulse(sys)计算并画出系统的冲激响应。 参数:sys 可由函数tf(b,a)获得。其中: ],,,,[011a a a a a n n -= ],,,,[011b b b b b m m -= h=impulse(sys, t) 计算出系统在向量t 定义的区间上的冲激响应, 向 量h 保存对应区间的系统冲激响应的输出值。 ● 连续系统的单位阶跃响应g (t )的计算 step(sys)计算并画出系统的阶跃响应。

实验:类和对象1

实验一:类和对象 【实验目的】 1.理解对象和类,掌握类的定义及如何创建一个对象; 2.掌握构造方法的运用; 3.掌握方法的定义和参数传递; 4. 掌握类的继承机制。 【实验准备】 一、复习配套教材相关章节的内容; 二、预习本次实验; 【实验内容】 1.编写一个程序,显示水果的定购行情。定义一个带有参数的构造方法,这些参数用于存放产品名,数量和价格。在主程序中输出三种不同的水果。package avage; public class text { String name; int agr; double page; public text(){ } public text(String name,int agr,double page){ https://www.wendangku.net/doc/1816483061.html,=name; this.agr=agr; this.page=page; } public void evagre(){ System.out.println("水果名为:"+https://www.wendangku.net/doc/1816483061.html,); System.out.println("水果数量:"+this.agr); System.out.println("水果单价:"+this.page); } } public class text1 { /** * @param args

*/ public static void main(String[] args) { // TODO Auto-generated method stub text s=new text(); https://www.wendangku.net/doc/1816483061.html,="苹果"; s.agr =10; s.page=1.0; s.evagre(); text c=new text(); https://www.wendangku.net/doc/1816483061.html,="香蕉"; s.agr =10; s.page=1.0; s.evagre(); text d=new text(); https://www.wendangku.net/doc/1816483061.html,="橘子"; s.agr =10; s.page=1.0; s.evagre(); 2. 编写一个学生类,封装学生的学号、姓名、成绩等信息。再编写一个主类,

实验3 类和对象

实验3 类和对象的创建与使用 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第1,3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 public class AccountOperation { public static void main(String [] args) { Account account1=new Account("650101","柳眉","天河学院",800.00); Account account2=new Account("650102","郑杰","天河学院",200.00); account1.transfer(account1,account2,300.0); account1.deposit(300.5); account1.withdraw(200); account1.withdraw(300); account1.query(); System.out.println(account1.toString()); //System.out.println(https://www.wendangku.net/doc/1816483061.html,); error!! } } class Account { private String account; private String name; private String address; private double balance;

实验五数值积分参考答案

一 实验目的: 1 加深理解积分理论中分割、近似、求和、取极限的思想方法; 2 了解定积分近似计算的矩形法、梯形法与抛物线法; 3 会用MATLAB 语言编写求定积分近似值的程序,会用MALAB 中的命令求定积分。 二 实验准备素材 见附件。 三 实验内容 1.(不定积分)用int 计算下列不定积分,并用diff 验证 ?dx x x 2 sin ,?+x dx cos 1,?+1x e dx ,?xdx arcsin ,?xdx 3sec 2.(定积分)用trapz,int 计算下列定积分 ?10sin dx x x ,?10dx x x ,?π20)2sin(dx x e x ,?-102dx e x 3.(椭圆的周长) 用定积分的方法计算椭圆1492 2=+y x 的周长 4.(二重积分)计算积分??≤+++y y x dxdy y x 222)1( 5. (广义积分)计算广义积分 ?∞∞-+-dx x x 421)exp(,?10)tan(dx x x ,?-1021sin dx x x 7.1 syms x; g1=int(x.*sin(x).*sin(x)) g1 = x*(-1/2*cos(x)*sin(x)+1/2*x)+1/4*sin(x)^2-1/4*x^2

clear;syms x; d1=diff(x*(-1/2*cos(x)*sin(x)+1/2*x)+1/4*sin(x)^2-1/4*x^2) syms x; g2=int(1/(1+cos(x))) g2 = tan(1/2*x) clear;syms x; d2=diff(tan(1/2*x)) syms x; g3=int(1/(exp(x)+1)) g3 = log(exp(x))-log(exp(x)+1) clear;syms x; d3=diff(exp(x))-log(exp(x)+1)) syms x; g4=int(finverse(sin(x))) g4 = x*asin(x)+(1-x^2)^(1/2) clear;syms x; d4=diff(x*asin(x)+(1-x^2)^(1/2)) syms x; g5=int(sec(x).^3) g5 = 1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear;syms x; d5=diff(1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x))) 7.2 x=10e-100:0.001:1; y=sin(x)./x; trapz(x,y) clear all;syms x;

实验报告_实验3 类与对象

实验报告_实验3 类与对象(学生学号_姓 名) 一、实验目的 1.熟悉类的组成,掌握类的声明方法; 2.理解构造方法的作用,并掌握构造方法的定义; 3.熟练使用访问器和设置器实现信息隐藏和封装; 4.熟悉一般方法、构造方法的重载; 5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式; 7.掌握this关键字的使用以及对象数组的创建和访问; 8.掌握Java包的创建、包成员的各种访问方式; 9.掌握一维数组:声明,创建,初始化,数组元素的访问; 10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。 二、实验内容与步骤 1.请回答下列问题: (1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么? 答:两个PI,floatl类型,静态私有权限 Radius,float;类型,私有权限 (2)类中的“PI”的值可以在程序的方法中更改吗? 答:不可以,因为PI为静态变量 (3)Cirecle类定义了几个方法?它们的访问权限怎样?

答:四个,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有权限 2.写出Rectangle类的程序代码: class Rectangle { private float width; private float length; public float getWidth( ) //获取矩形宽度 {return width;} public float getLength( ) //获取矩形长度 {return length;} public float getPerimeter( ) //获取矩形周长 {return 2*(width+length);} public float getArea( ) //获取矩形面积 {return (width*length);} public void setWidth(float w) //设置矩形宽度 {width=w;} public void setLength(float l) //设置矩形长度 {length=l;} } 3.回答下列问题: (1)该程序中有几个类?主类是什么?如果将这两个类放在一个文件中,源程序文件名应是什么?答:两个类:Circle、CircleTest;主类是CircleTest;源程序文件名是CircleTest。

实验报告答案

实验2:MIPS指令系统和MIPS体系结构 一.实验目的 (1)了解和熟悉指令级模拟器 (2)熟悉掌握MIPSsim模拟器的操作和使用方法 (3)熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解 (4)熟悉MIPS体系结构 二. 实验内容和步骤 首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统和汇编语言。(1)、启动MIPSsim(用鼠标双击MIPSsim.exe)。 (2)、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。 (3)、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。 可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一条指令、执行多条指令、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化。 (4)、选择“文件”->“载入程序”选项,加载样例程序 alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地址为0x00000000)。 (5)、查看“寄存器”窗口PC寄存器的值:[PC]=0x00000000。 (6)、执行load和store指令,步骤如下: 1)单步执行一条指令(F7)。 2)下一条指令地址为0x00000004,是一条有 (有,无)符号载入字节 (字节,半字,字)指令。 3)单步执行一条指令(F7)。 4)查看R1的值,[R1]= 0xFFFFFFFFFFFFFF80 。 5)下一条指令地址为0x00000008,是一条有 (有,无)符号载入字 (字节,半字,字)指令。 6)单步执行1条指令。 7)查看R1的值,[R1]=0x0000000000000080 。 8)下一条指令地址为0x0000000C ,是一条无 (有,无)符号载入字节 (字节,半字,字)指令。 9)单步执行1条指令。 10)查看R1的值,[R1]= 0x0000000000000080 。 11)单步执行1条指令。 12)下一条指令地址为0x00000014 ,是一条保存字 (字节,半字,字)指令。 13)单步执行一条指令。

实验五 连接查询参考答案

--创建学生视图 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_stu]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].[v_stu] go create view v_stu as select sid, sname, ssexy, sbdate, Datediff(year, sbdate, getdate()) as sage, stele, ugrade.gid, gname, gyear, udept.did, dname, daddr, dtele, demail, uteacher.tid, tname, tsexy, tbdate, tfield, tprof, tele, qq, email, msn from ustudent, ugrade, udept, uteacher where ustudent.gid=ugrade.gid and ugrade.did=udept.did and ugrade.tid=uteacher.tid --创建选修课程视图 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_sc]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].[v_sc] go create view v_sc as select ustudent.sname, usc.*, cname, credit, pcid, chour, cattr, cnum from ustudent, usc, ucourse where ustudent.sid=usc.sid and usc.cid=ucourse.cid --1、显示所有学生的详细信息,包括学号、姓名、性别、年龄、班级名称,入学年份select sid, sname, ssexy, sage, gname, gyear from v_stu --2、显示信息科学与技术系同学的名单,包括学号、姓名、性别、年龄、班级名称、入学年份 select sid, sname, ssexy, sage, gname, gyear from v_stu where dname='信息科学与技术系' --3、显示选修了“数据库”的所有同学的学号、姓名 select sid, sname from v_sc where cname='数据库' --4、显示白云同学的班主任老师的姓名、联系电话 select tname, tele from v_stu

C++语言程序设计实验答案_类与对象

实验04 类与对象(6学时) (第4章类与对象) 一、实验目的 二、实验任务 4_1 声明一个CPU类。 包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 }; frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 4_2 声明一个简单的Computer类。 有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。 4_3 声明一个表示时间的结构体。 可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

4_4(习题4-10)设计一个用于人事管理的People(人员)类。 考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号),sex(性别)、birthday(出生日期)、id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现人员信息的录入和显示。要求包括:构造函数和析构函数、内联成员函数、组合。 三、实验步骤 1.(验证)声明一个CPU类,观察构造函数和析构函数的调用顺序。 首先声明枚举类型CPU_Rank,例如enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 },再声明CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,声明成员函数run和stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示顺序。在主程序中声明一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:。(程序见步骤2) ★程序的运行结果: 2.(示例)调试程序文件。 使用调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: 操作)调试操作步骤如下: (1)单击“调试 | 逐语句”命令,系统进行单步执行状态,程序开始运行,一个DOS 窗口出现,此时Visual Studio中光标停在main()函数的入口处。

大学物理实验报告答案大全(实验数据)

U 2 I 2 大学物理实验报告答案大全(实验数据及思考题答案全包括) 伏安法测电阻 实验目的 (1) 利用伏安法测电阻。 (2) 验证欧姆定律。 (3) 学会间接测量量不确定度的计算;进一步掌握有效数字的概念。 实验方法原理 根据欧姆定律, R = U ,如测得 U 和 I 则可计算出 R 。值得注意的是,本实验待测电阻有两只, 一个阻值相对较大,一个较小,因此测量时必须采用安培表内接和外接两个方式,以减小测量误差。 实验装置 待测电阻两只,0~5mA 电流表 1 只,0-5V 电压表 1 只,0~50mA 电流表 1 只,0~10V 电压表一 只,滑线变阻器 1 只,DF1730SB3A 稳压源 1 台。 实验步骤 本实验为简单设计性实验,实验线路、数据记录表格和具体实验步骤应由学生自行设计。必要时,可提示学 生参照第 2 章中的第 2.4 一节的有关内容。分压电路是必须要使用的,并作具体提示。 (1) 根据相应的电路图对电阻进行测量,记录 U 值和 I 值。对每一个电阻测量 3 次。 (2) 计算各次测量结果。如多次测量值相差不大,可取其平均值作为测量结果。 (3) 如果同一电阻多次测量结果相差很大,应分析原因并重新测量。 数据处理 (1) 由 U = U max ? 1.5% ,得到 U 1 = 0.15V , U 2 = 0.075V ; (2) 由 I = I max ? 1.5% ,得到 I 1 = 0.075mA , I 2 = 0.75mA ; (3) 再由 u R = R ( 3V ) + ( 3I ) ,求得 u R 1 = 9 ? 101 &, u R 2 = 1& ; (4) 结果表示 R 1 = (2.92 ± 0.09) ?10 3 &, R 2 = (44 ± 1)& 光栅衍射 实验目的 (1) 了解分光计的原理和构造。 (2) 学会分光计的调节和使用方法。 (3) 观测汞灯在可见光范围内几条光谱线的波长 实验方法原理

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

实验5 类和对象

类和对象 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 2、两游戏角色决斗。(选做) 角色1交手次数+1,生命值-1,经验值+2;角色2交手次数+1,生命值-2,经验值+3。经验值每增加50时,生命值+1;生命值<0判为负。生命值初始为1000,经验值初始为0。给定二个不同的角色,判定交手的胜负关系。 提示: step1:建立角色类,给出相应的成员,并能以生命值、经验值初始化角色对象。 step2:建立fight方法,接收二个角色类型的参数,返回胜者。 step3:初始化二角色,调用fight方法。 3、根据分数录取学生。 设计一个学校类,其中包含成员变量line(录取分数线)和对该变量值进行设置和获取的方法。 编写一个学生类,它的成员变量有考生的name(姓名)、id(考号)、total(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法。 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96以上并且综合成绩大于300。在该类的main()方法中,建立若干个学生对象,对符合录取条件的学生,输出其信息及“被录取”。 四、实验记录与分析(可自拟或选择) 1、重载的构造方法具有不同个数或不同类型的参数,编译器就可以根据这一点判断出用new 关键字产生对象时,该调用哪个构造方法了。 2、每个对象拥有各自的实例成员变量,而所有对象共享一个类成员变量。 3、实例成员变量通过对象引用,类成员变量通过类或对象名访问。

C实验报告1参考答案范文

《高级语言程序设计》实验报告 班级: 学号: 姓名: 成绩: 实验1熟悉Visual C++6.0环境及运行C 程序 一、实验目的 1.掌握在Visual C++6.0环境下C 程序的建立、编辑、编译和执行过程。 2.掌握C 程序的最基本框架结构,完成简单程序的编制与运行。 3.了解基本输入输出函数scanf()、printf ()的格式及使用方法。 4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。 二、实验内容 1.下列程序的功能是:从键盘输入两个数a 和b ,求它们的平方和,并在屏幕上输出。输入该C 程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c 保存。 #include main() { int a,b,sum; /*定义整型变量a 、b 、sum */ printf("Please Input a,b \n "); /*输出提示信息*/ scanf("%d%d",&a,&b); /*从键盘输入两个整数分别赋予a 和b*/ sum=a*a+b*b; /*赋值语句,把a 2+b 2的结果赋给变量sum*/ printf("%d*%d+ %d*%d=%d\n",a,a,b,b,sum); /*输出语句*/ } (1)下列程序的功能为:计算x*y 的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名sy1_2.c 保存。 #include main main () { int x=2;y=3;a int x=2;y=3;a ;

A=x*y a =x*y ; print ('a=%d",A); print f ("a=%d",a ); printf("\n"); } (2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名 sy1_3.c 保存。 #include viod main() void main() { int a ,b , max; Scanf(“%d,%d ”,&a,&b); s canf(“%d,%d ”,&a,&b); Max=a; m ax=a; If (max main() { int x,y,total; /* 定义整型变量x,y,total*/ printf("Please input x,y ! "); /* 输出提示信息 */ scanf(“%d%d ”,&x,&y); /* 由键盘输入两个数分别赋予x 和y*/ total=x+y; /* 赋值语句 */ printf("%d + %d=%d\n",x,y,total); /* 输出两个整数的和 */ }

大学化学实验课后思考题参考答案

(2)吸取溶液手拿刻度以上部分,将管的下口插入欲取的溶液中,吸取溶液 至刻度线2cm以上,迅速用食指堵住移液管管口。 (3)调节液面将移液管垂直提离液面,调节溶液的弯月面底部于刻度线相切 (4)放出溶液放液以后使尖嘴口在容器内壁靠约30秒,注意最后一滴的处 理,吹或不吹。 为了使液体自由落下,不停留在管内壁,确保移液准确定量,故放液时要垂直流下液体; 若移液管上没有注明“吹”字,最后一滴不可吹出,因为在设计移液管时,移液管体积没有包括最后一滴溶液的体积。 3)使用容量瓶配制溶液时,应如何进行定量转移? 答:称取一定质量的固体放在小烧杯中,用水溶解,转移过程中,用一根玻璃棒插入容量瓶内,烧杯嘴紧靠玻璃棒,使溶液沿玻璃棒慢慢流入,玻璃棒下端要靠近瓶颈内壁,不要接近瓶口,以免有溶液溢出。 待测液流完后,将烧杯沿玻璃棒向上稍提起,同时直立,是附着在烧杯嘴上的一滴溶液流回烧杯内。残留在烧杯中的少许溶液,可用少量蒸馏水按上述方法洗3-4次,洗涤液转移合并到容量瓶中;定容并摇匀。

实验二酸碱标准溶液的配制与浓度的标定 思考题: 1)配制酸碱标准溶液时,为什么用量筒量取盐酸和用台秤称固体氢氧化钠,而 不用移液管和分析天平?配制的溶液浓度应取几位有效数字?为什么 答:因为浓盐酸容易挥发,氢氧化钠吸收空气中的水分和二氧化碳,准确量取无意义,只能先近似配制溶液浓度,然后用基准物质标定其准确浓度,,所以配制时不需要移液管和分析天平。 因为配制时粗配,配制的溶液浓度应取一位有效数字。 2)标定HCl溶液时,基准物,称0.13g左右,标定NaOH溶液时,称邻苯 二甲酸氢钾0.5g左右,这些称量要求是怎么算出来的?称太多或太少对标定有何影响? 答:根据滴定时所需盐酸或氢氧化钠的体积在20-25ml估算出来的。因为滴定管在读数时会存在一定误差,消耗体积在20-25ml时相对误差较小。称太多,所需盐酸或氢氧化钠可能会超过滴定范围,而且会造成浪费;称太少,相对误差较大,不能满足误差要求。 3)标定用的基准物质应具备哪些条件? 答:基准物质应具备:(1)组成物质应有确定的化学式;(2)纯度要求在99%以上; (3)性质稳定;(4)有较大的摩尔质量;(5)与待标定物质有定量的化学反应。 4)溶解基准物质时加入50ml蒸馏水应使用移液管还是量筒?为什么? 答:用量筒。因为基准物质的质量是一定的,加入50ml蒸馏水只是保证基准物质完全溶解,不影响定量反应有关计算,所以只需用量筒取用就可以了。 5)用邻苯二甲酸氢钾标定氢氧化钠溶液时,为什么选用酚酞指示剂?用甲基橙 可以吗?为什么? 答:邻苯二甲酸氢钾与氢氧化钠反应的产物在水溶液中显微碱性,酚酞的显色范围为pH8-10,可准确地指示终点。 甲基橙的显色范围为pH3.1-4.4,在反应尚未达到终点时,就已经变色,会产生较大的误差,所以不能用甲基橙为指示剂。 6)能否作为标定酸的基准物?为什么? 答:不能,因为草酸的和值接近,不能分步滴定,滴定反应的产物不是唯一的,所以不能作为标定酸的基准为。但能作为氧化还原滴定的基准物。

实验报告5答案

实验报告 课程名称:高级语言程序设计 实验五:循环结构程序设计 班级: 学生姓名: 学号: 专业: 指导教师: 学期:2010-2011学年上学期 云南大学信息学院

一、实验目的 1、理解循环的概念 2、理解并掌握循环结构相关语句的含义、格式及使用 3、学会循环的应用及控制,包括: ① 掌握使用循环输入多个数据的方法 ② 掌握在多个数据中有选择地输出数据的方法 ③ 掌握在多个数据中对某种数据进行计数的方法 ④ 掌握求多个数据中最大值、最小值的方法 ⑤ 掌握使用break 、continue 语句终止循环 4、掌握循环的嵌套 二、知识要点 1、循环变量、循环条件、循环体的概念 2、三种循环语句的一般格式、执行过程 3、理解选择结构与循环结构中“条件表达式”之不同含义 4、二重循环的执行过程 三、实验预习 (要求做实验前完成) 1、循环变量的主要用途是: 2、用循环求多个数的和之前,先要把和的初始值赋为: 3、用循环求多个数的乘积之前,先要把乘积的初始值赋为: 4、字符变量能否作为循环变量? 5、循环过程中,如果循环条件成立,但需要结束循环,可采用什么办法? 6、什么叫循环的嵌套? 四、实验内容 (要求提供:① 算法描述或流程图 ② 源程序 ) 1、编程,利用循环计算以下表达式的值: (5+52)*(4+42)*(3+32)*(2+22)*(1+12)*(1/2+1/3+1/4+1/5)(for 循环) 2、编程,从键盘输入若干个整数,当输入0时,输入停止。统计并输出总共输入了几个 数,以及所有输入数的和。(while 循环) 3、输入一行字符,分别统计其中的英文字母、数字、空格和其他字符的个数。 4、使用二重循环编程,绘制如下图形: *****A ****B ***C **D *E 5. 输入10个整数,输出最大值、最小值和平均分。 6. 编写程序,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。 () 1121231234121233535735793521n n π?????????=++++++?????????+………… 五、实验结果(要求写出运行界面及输出的运行结果)

C语言实验参考答案11

C语言实验参考答案 实验一 5、输入并运行自已编写的程序(教材第一章P14 三编程题)。 实验二 1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。 #include main() {float x,y,z,s,t,a; printf(“x,y,z=”); scanf(“%f,%f,%f”,&x,&y,&z); s=x+y+z; t=x*y*z; a=s/3; printf(“s=%f,t=%f,a=%f\n”,s,t,a); } 2、编程。要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后: 1)用整数输出这两个数的和、差; 2)用长整型输出这两个数的积,用float输出商; 3)用整数输出这两个数的余数,用float输出平均值。 #include

{int a,b,he,cha,yu; long ji; float shang,aver; printf(“a,b=”); scanf(“%d,%d”,&a,&b); he=a+b; cha=a-b; ji=(long)a*b; shang=1.0*a/b; yu=a%b; aver=(a+b)/2.0; printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji); printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver); } 3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明。 程序同上。 实验三 1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。 #include

相关文档