C++描述程序设计实验报告.docx
- 文档编号:8202958
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:33
- 大小:40.49KB
C++描述程序设计实验报告.docx
《C++描述程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《C++描述程序设计实验报告.docx(33页珍藏版)》请在冰豆网上搜索。
C++描述程序设计实验报告
《程序设计基础》实验报告
实验一面向过程的简单程序设计
1.实验目的
掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运算符和表达式的使用。
掌握赋值语句的使用。
掌握数据的输入输出方法。
2.实验设备
VisualC++6.0
3.实验内容
(1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。
<1>
源代码:
#include
voidmain()
{
floats,x,a,b,c,d;
cin>>x>>a>>b>>c>>d;
s=x+(a+b)/(c-d);
cout<
}
测试过程和运行结果分析:
输入数据为:
3,6,8,5,3 运行结果为:
10
<2>
源代码:
#include
#include
voidmain()
{
doubles,x;cin>>x;
s=sqrt(1+1/(x+1/(x+1)));
cout<
}
测试过程和运行结果分析:
输入数据为:
4运行结果为:
1.1127
<3>sinX+cosX+tan-1X
源代码:
#include
#include
voidmain()
{
floatx,y;
cin>>x;
y=sin(x)+cos(x)+1/tan(x);
cout< } 测试过程和运行结果分析: 输入数据为: 6 运行结果为: -2.7556 <4>ex+y+ex-y 源代码: #include #include voidmain() { intx,y,s; cin>>x>>y; s=exp(x+y)+exp(x-y); cout< } 测试过程和运行结果分析: 输入数据为: 1,1 运行结果为: 8.38906 <5>log10(1+ ) 源代码: #include #include voidmain() { floatx,s; s=log10(1+sqrt(1+x*x)); cout< } 测试过程和运行结果分析: 运行结果为: 8.0309 <6> + (其中 表示取不大于a的最大整数)。 源代码: #include #include voidmain() { doubles,a,b; cin>>a>>b; s=fabs(a*a-b*b)+floor(a-b); cout< } 测试过程和运行结果分析: 输入数据为: 4,8 运行结果为: 44 (2)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。 <1>测试过程和运行结果分析: 输入数据为: 532 运行结果为: 5. <2>测试过程和运行结果分析: 分别输入数据为: 10040,20003000,10001000,2000300,1004000 运行结果为: 01,10,01,11,00. <3>测试过程和运行结果分析: 输入数据为: 23 运行结果为: ,运行结果为: 24. (3)编写程序实现下列问题的求解。 <1>根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。 源代码: #include voidmain() { floatr,c; cin>>r; c=2*3.14*r; cout< 测试过程和运行结果分析: 输入数据为: 3 运行结果为: 18.843 <3>对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。 例如,输入为1234时,输出结果为4,3,2,1 源代码: #include #include voidmain() {inta,b,c,d,m; cout<<"请输入个四位整数m="; cin>>m; floor(a=m/1000); floor(b=(m-a*1000)/100); floor(c=(m-a*1000-b*100)/10); floor(d=(m-a*1000-b*100-c*10)); if(m>=1000&&m<=9999) cout< elsecout<<"错误,请重输"< 测试过程和运行结果分析: 输入数据为: 1234 运行结果为: 4321 实验总结: 学习了C/C++语言编程基本语法,能编写简单的赋值和输入输出程序。 实验二控制结构程序设计 1.实验目的要求 (1)理解基本的解题技巧,掌握用自顶向下、逐步求精的过程设计算法。 (2)熟练掌握if/else语句和switch语句的使用。 (3)熟练掌握while语句、do/while语句和for语句的使用以及区别。 掌握break和continue程序控制语句的使用。 ) (4)掌握break和continue程序控制语句的使用。 2.实验内容 (1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。 <1>测试过程和运行结果分析: 运行结果为: <1000,850><150,850><150,700><150,550><150,400><150,250><150,100><50,100><50,50>50 <2>测试过程和运行结果分析: 运行结果为: <1000: 45>22---10 <3>测试过程和运行结果分析: 运行结果为: *#*#*#$ <4>测试过程和运行结果分析: 运行结果为: a=2b=81 (2)编写程序实现下列问题的求解。 <1>求解下面函数的值。 ex+yx<0,y<0 z=ln(x+y)1≤x+y〈10 log10|x+y|+1其它情况 源代码: #include #include voidmain() {doublex,y,z; cin>>x>>y; if(x<0&&y<0) z=exp(x+y); elseif((x+y)>=1&&(x+y)<10) z=log(x+y); elsez=log10(fabs(x+y)+1); cout< } 测试过程和运行结果分析: 输入数据为: 9,8 运行结果为: 1.25527 <2>编程求解下列各计算式: 1)S= =1+2+3+…+100 源代码: #include voidmain() { ints=0,i; for(i=1;i<=100;i++) s=s+i; cout< } 测试过程和运行结果分析: 运行结果为: 5050 2)S= =1! +2! +…+7! 源代码: #include intf(inti) {inty; if(i==0) {y=1;} elsey=i*f(i-1); returny;} voidmain() {ints=0,i; for(i=1;i<=7;i++) s=s+f(i); cout< 测试过程和运行结果分析: 运行结果为: 5913 3) S=1×2+3×4+5×6+…+39×40 源代码: #include voidmain() {ints=0,i,m; for(i=1;i<=40;i=i+2) {m=i*(i+1); s=s+m;} cout< } 测试过程和运行结果分析: 运行结果为: 11060 <4>编程产生出1到10以内的所有数对并输出,其中i>j。 源代码: #include voidmain() {inti,j; for(i=1;i<=10;i++) for(j=1;j<=10;j++) if(i>j) cout<<"<"<"< 测试过程和运行结果分析: 运行结果为: <2,1><3,1><3,2><4,1><4,2><4,3><5,1><5,2><5,3><5,4><6,1><6,2><6,3><6,4><6,5><7,1><7,2><7,3><7,4><7,5><7,6><8,1><8,2><8,3><8,4><8,5><8,6><8,7><9,1><9,2><9,3><9,4><9,5><9,6><9,7><9,8><10,1><10,2><10,3><10,4><10,5><10,6><10,7><10,8><10,9> <5>编程求出10000以内的所有符合如下条件的数: 其高位数字小于低位数字。 如12,238,3578等。 但21,548不符合条件。 源代码: #include voidmain() {inta,b,c,d,m; for(m=10;m<100;m++) {a=m/10; b=(m-a*10); if(a cout< for(m=100;m<1000;m++) {a=m/100; b=(m-a*100)/10; c=(m-a*100-b*10)/1; if(a cout< for(m=1000;m<10000;m++) {a=m/1000; b=(m-a*1000)/100; c=(m-a*1000-b*100)/10; d=(m-a*1000-b*100-c*10); if(a cout< 测试过程和运行结果分析: 运行结果为: 121314151617181923242526272829343536373839454647484956 575859676869787989123124125126127128129134135136137138139 145146147148149156157158159167168169178179189234235236237238 239245246247248249256257258259267268269278279289345346347348 349356357358359367368369378379389456457458459467468469478479 48956756856957857958967867968978912341235123612371238123912451 2461247124812491256125712581259126712681269127812791289134513461 3471348134913561357135813591367136813691378137913891456145714581 4591467146814691478147914891567156815691578157915891678167916891 7892345234623472348234923562357235823592367236823692378237923892 4562457245824592467246824692478247924892567256825692578257925892 6782679268927893456345734583459346734683469347834793489356735683 5693578357935893678367936893789456745684569457845794589467846794 689478956785679568957896789 实验总结: 此次学习了C++,可以掌握了一些基本语句的控制。 掌握了if/else语句和switch语句的使用。 while语句、do/while语句和for语句的使用以及区别。 break和continue程序控制语句的使用。 实验三数组 1.实验目的要求 (1)掌握一维数组和二维数组的定义、初始化赋值、元素引用的方法。 (2)初步了解数组名与地址的关系。 (3)掌握字符数组和字符串函数的使用。 (4)掌握与数组有关的算法(特别是排序和查找算法)。 2.实验内容 (1)阅读下列程序,写出其运行结果,并指出其功能。 <1>测试过程和运行结果分析: 运行结果为: Sumofa= <2>测试过程和运行结果分析: 运行结果为: CERCOMP <3>测试过程和运行结果分析: 输入数据为: 6,5 运行结果为: 11 (2)编写程序实现下列问题的求解。 <1>编程产生下列数组,并输出。 维数组1)(149162536496481100 源代码: #include voidmain() {ints[10],i; for(i=0;i<=10;i++) s[i]=i*i; for(i=0;i<=10;i++) cout< for(m=100;m<1000;m++) {a=m/100; b=(m-a*1000)/100; c=(m-a*1000-b*100)/1; if(a cout< 测试过程和运行结果分析: 运行结果为: 149162536496481100 ⑵二维数组 1)123456 234560 345601 456012 560123 601234 <2>编程实现数组的排序: 将有15个元素的整型数组按从小到大的次序排序。 源代码: #include voidmain() {inta[15];inti,m,t; for(i=0;i<=14;i++) {cin>>a[i];} for(i=0;i<=14;i++) {for(m=i+1;m<15;m++) {if(a[i]>a[m]) {t=a[i];a[i]=a[m];a[m]=t;}} } for(i=0;i<15;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 描述 程序设计 实验 报告