文档库 最新最全的文档下载
当前位置:文档库 › 高级语言程序设计c++实验报告

高级语言程序设计c++实验报告

院系:化学与环境学院

实验课程:高级语言程序设计

实验项目:设计C++基础程序

指导老师:曹阳

开课时间:2014 ~ 2015 年度第一学期专业:新能源材料与器件勷勤创新班

班级:1班

姓名:

学号:20

日期:2014.11.28

华南师范大学教务处

实验一:

实验任务及目的:

在键盘上输入华氏温度,根据华氏温度转换为摄氏温度:C=5/9*(F-32)的公式,求出摄氏温度。调试下列程序,并进行纠错。(f=100,

c=37.7778)

#include

using namespace std;

int main( )

{

float f,c,temp;

cout<<"Input: F= ";

cin>>f;

temp=5/9.0;

c=temp*(f-32);

cout<<"\n The temperature is "<

return 0;

}

实验主要硬件软件环境:vc6.0

实验界面设计、输入的数据、产生的中间结果、最终输出结果:

输入f=100,输出结果为0.

可知错误为temp=5/9;因为系统默认整形,所以结果为0,应改为

temp=5/9.0。改后输出结果为37.778。

结论:通过此次实验,初步掌握了调试程序的基本方法。

实验二:

实验任务及目的:

计算1+22+333+4444+……的前几项的和,其中n由用户输入(约定

n<10)。调试下列程序,并进行纠错。(n=5, sum=60355)

#include

using namespace std;

int main( )

{

long long sum,t;

long long n,i,j;

cout<<"Please input how many terms you want the computer to calculate(1-9):";

cin>>n;

while (n<1||n>=10)

{

cout<<"Overflow! \n";

cout<<"Please input how many terms you want the computer to calculate(1-9):";

cin>>n;

}

sum=0;

for (i=1; i<=n; i++)

{ t=i;

for (j=0; j

{

t=10*t+i;

}

sum+=t;

}

cout<<"Sum="<

return 0;

}

实验主要硬件软件环境:vc6.0

实验界面设计、输入的数据、产生的中间结果、最终输出结果:

输入5

输出994991929

依据调试结果可知:t的第十一与第十二个中间结果分别为

-1661567444,564194749.

经分析可知,该程序缺乏语句t=i;且int容易导致溢出;整体程序应改为long long型

结论:通过此次实验,进一步掌握了调试的方法。

实验三:

实验任务及目的:

编写函数求表达式X2+4X-5的值,X作为函数的参数。

实验主要硬件软件环境:vc6.0

实验主要数据结构:

#include

using namespace std;

double f(double x);

int main()

{double x,b;

cin>>x;

b=f(x);

cout<

return 0;

}

double f(double)

{double x,y;

y=x*x+4*x-5;

return x;

}

实验界面设计、输入的数据、产生的中间结果、最终输出结果:

输入1

输出0

实验过程产生的主要问题及解决办法:

结论;经过此次编程,初步学会了函数的使用方法。

实验四

实验任务及目的:

读入一个正整数,统计并输出该数各位数码中包括某个数字的个数。如统计543567589中数字5的个数。

实验主要硬件软件环境:vc6.0

实验主要数据结构:不会做

实验界面设计、输入的数据、产生的中间结果、最终输出结果:

结论:通过此次编程,进一步了解了函数的使用方法。

实验五:

实验任务及目的:

将学生成绩分为5个等级:90~100为“A”;80~90为“B”;70~80为“C”;60~70为“D”;60以下为“E”。要求:

(1)编写一个计算成绩等级的函数,其参数为学生成绩,其返回值为对应等级。

(2)编写一个主函数,先从键盘输入一个学生的成绩,然后调用以上函数计算对应等级,最后在屏幕上输出其等级。

实验主要硬件软件环境:dev c++

实验主要数据结构:

#include

using namespace std;

long fac(int);

int main()

{int n;

long y;

cout<<"please input the score.";

cin>>n;

y=fac(n);

return 0;

}

long fac(int n)

{long f,E;

if(n>=90)

{cout<<"A"<

f=-1;}

else if(n>=80)

{cout<<"B"<

f=-1;}

else if(n>=70)

{cout<<"C"<

f=-1;}

else if(n>=60)

{cout<<"D"<

f=-1;}

else cout<<"E"<

return f;

}

实验界面设计、输入的数据、产生的中间结果、最终输出结果:

输入99

输出A

结论:通过此次编程,进一步加深了函数的理解。

实验六:

实验任务及目的:

利用递归算法,将输入的5个字符,以相反顺序打印出来。

实验主要硬件软件环境:vc6.0

结论:不会做

实验七:

实验任务及目的:

求写一个判别素数的函数,在主函数中输入一个整数输出是否为素数的信息。

实验主要硬件软件环境:Dev c++

实验主要数据结构:

实验界面设计、输入的数据、产生的中间结果、最终输出结果:

结论:不会做

实验八:

实验任务及目的:

利用递归算法求:

f(x)=Σi^2

实验主要硬件软件环境:Dev c++

实验主要数据结构:

#include

using namespace std;

long fac(int);

int main()

{int n;

long y;

cout<<"please input an integar.";

cin>>n;

y=fac(n);

cout<<"!="<

return 0;

}

long fac(int n)

{long f;

if(n<0||n==0)

{cout<<"data error!"<

f=-1;}

else if(n==1) f=1;

else f=fac(n-1)+n*n;

return f;

}

实验界面设计、输入的数据、产生的中间结果、最终输出结果:

输入1输出:1

输入2,输出:5

结论:通过此次编程,初步对递归函数有所了解。

相关文档
相关文档 最新文档