C++描述程序设计实验报告Word文档下载推荐.docx
- 文档编号:21339278
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:33
- 大小:40.49KB
C++描述程序设计实验报告Word文档下载推荐.docx
《C++描述程序设计实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++描述程序设计实验报告Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。
y=sin(x)+cos(x)+1/tan(x);
y<
6 运行结果为:
-2.7556
4>
ex+y+ex-y
intx,y,s;
y;
s=exp(x+y)+exp(x-y);
1,1 运行结果为:
8.38906
5>
log10(1+
)
floatx,s;
s=log10(1+sqrt(1+x*x));
运行结果为:
8.0309
6>
+
(其中
表示取不大于a的最大整数)。
doubles,a,b;
b;
s=fabs(a*a-b*b)+floor(a-b);
4,8 运行结果为:
44
(2)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。
532 运行结果为:
5.
分别输入数据为:
10040,20003000,10001000,2000300,1004000
运行结果为:
01,10,01,11,00.
输入数据为:
23 运行结果为:
,运行结果为:
24.
(3)编写程序实现下列问题的求解。
根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。
floatr,c;
r;
c=2*3.14*r;
c<
r<
3 运行结果为:
18.843
对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。
例如,输入为1234时,输出结果为4,3,2,1
{inta,b,c,d,m;
"
请输入个四位整数m="
;
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)
d<
b<
a<
elsecout<
错误,请重输"
1234 运行结果为:
4321
实验总结:
学习了C/C++语言编程基本语法,能编写简单的赋值和输入输出程序。
实验二控制结构程序设计
1.实验目的要求
(1)理解基本的解题技巧,掌握用自顶向下、逐步求精的过程设计算法。
(2)熟练掌握if/else语句和switch语句的使用。
(3)熟练掌握while语句、do/while语句和for语句的使用以及区别。
掌握break和continue程序控制语句的使用。
)
(4)掌握break和continue程序控制语句的使用。
2.实验内容
(1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。
1000,850>
150,850>
150,700>
150,550>
150,400>
150,250>
150,100>
50,100>
50,50>
50
1000:
45>
22---10
*#*#*#$
a=2b=81
(2)编写程序实现下列问题的求解。
求解下面函数的值。
ex+yx<
0,y<
z=ln(x+y)1≤x+y〈10
log10|x+y|+1其它情况
{doublex,y,z;
if(x<
0&
0)
z=exp(x+y);
elseif((x+y)>
=1&
(x+y)<
10)
z=log(x+y);
elsez=log10(fabs(x+y)+1);
z;
9,8 运行结果为:
1.25527
编程求解下列各计算式:
1)S=
=1+2+3+…+100
ints=0,i;
for(i=1;
i<
=100;
i++)
s=s+i;
5050
2)S=
=1!
+2!
+…+7!
intf(inti)
{inty;
if(i==0)
{y=1;
elsey=i*f(i-1);
returny;
{ints=0,i;
for(i=1;
=7;
s=s+f(i);
5913
3) S=1×
2+3×
4+5×
6+…+39×
40
{ints=0,i,m;
=40;
i=i+2)
{m=i*(i+1);
s=s+m;
11060
编程产生出1到10以内的所有数对<
i,j>
并输出,其中i>
j。
{inti,j;
=10;
for(j=1;
j<
j++)
if(i>
j)
"
}
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>
编程求出10000以内的所有符合如下条件的数:
其高位数字小于低位数字。
如12,238,3578等。
但21,548不符合条件。
for(m=10;
100;
m++)
{a=m/10;
b=(m-a*10);
if(a<
b)
"
for(m=100;
1000;
{a=m/100;
b=(m-a*100)/10;
c=(m-a*100-b*10)/1;
b&
c)
for(m=1000;
10000;
{a=m/1000;
b=(m-a*1000)/100;
c=(m-a*1000-b*100)/10;
d=(m-a*1000-b*100-c*10);
c&
d)
}}
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)掌握一维数组和二维数组的定义、初始化赋值、元素引用的方法。
(2)初步了解数组名与地址的关系。
(3)掌握字符数组和字符串函数的使用。
(4)掌握与数组有关的算法(特别是排序和查找算法)。
(1)阅读下列程序,写出其运行结果,并指出其功能。
Sumofa=
CERCOMP
6,5 运行结果为:
11
编程产生下列数组,并输出。
维数组1)(149162536496481100
{ints[10],i;
for(i=0;
s[i]=i*i;
for(i=0;
s[i]<
c=(m-a*1000-b*100)/1;
测试过程和运行结果分析:
149162536496481100
⑵二维数组
1)123456
234560
345601
456012
560123
601234
编程实现数组的排序:
将有15个元素的整型数组按从小到大的次序排序。
{inta[15];
inti,m,t;
for(i=0;
=14;
{cin>
a[i];
}
{for(m=i+1;
15;
{if(a[i]>
a[m])
{t=a[i];
a[i]=a[m];
a[m]=t;
a[i]<
126453781115912101314 运行结果为:
123456789101112131415
编程求一组整数的最大公因子和最小公倍数。
{inta[2];
inti,m;
a[0]>
a[1];
for(i=a[0]*a[1];
i--)
if(a[0]%i==0&
a[1]%i==0)break;
最大公因子为:
m=a[0]*a[1]/i;
最小公倍数为:
4,6 运行结果为:
最大公因子为2最小公倍数为12
将两个字符串连接起来,不要用strcat。
{chara[30],b[30],x[60];
chari,j;
a[i]!
='
\0'
x[i]=a[i];
for(j=0;
a[j]!
x[i+j]=b[j];
x[i+j]='
x<
chinabeautiful运行结果为:
chinabeautiful
通过学习该章节,已初步掌握了掌握一维数组和二维数组的定义、初始化赋值、元素引用的方法。
掌握字符数组和字符串函数的使用。
掌握与数组有关的算法(特别是排序和查找算法)。
实验四函数
(1)理解并掌握如何模块化的用函数来构建程序。
(2)掌握定义函数的方法,了解函数的重载方法,了解内联函数的机制。
(3)掌握函数间传递信息的机制。
(4)掌握函数的嵌套调用(和递归调用)的方法。
(5)掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法。
48,32. 运行结果为:
hcf=16lcd=96
k=13
00
10
93
612
求方程ax2+bx+c=0的根,用三个函数分别求b2-4ac大于0、等于0和小于0时的根,并输出结果。
从主函数输入a、b、c的值。
#include<
//b^2-4ac=0
voidfun1(double&
a,double&
b,double&
c,double&
d){
doubleans=(-b/(2*a));
b^2-4ac=0"
cout<
x="
ans<
//b^2-4ac>
voidfun2(double&
doubleans1,ans2;
ans1=(-b+sqrt(d))/(2*a);
ans2=(-b-sqrt(d))/(2*a);
cout<
b^2-4ac>
0"
x1="
ans1<
x2="
ans2<
//b^2-4ac<
voidfun3(double&
doublereal,imar;
real=-b/(2*a);
imar=sqrt(-d)/(2*a);
b^2-4ac<
real<
+"
imar<
i"
-"
intmain(){doublea,b,c,d;
cout<
请输入a,b,c"
c;
{d=b*b-4*a*c;
if(d==0)fun1(a,b,c,d);
elseif(d>
0)fun2(a,b,c,d);
elsefun3(a,b,c,d);
1,5,6运行结果为:
0x1=-2,x2=-3
编写出判断一个整数是否为素数的函数,并求出在2000以内的有十个以上的所有连
boolf(intx){
inti;
boolp=true;
for(i=2;
=x;
{
if(x%i==0)p=true;
if(x==1)p=false;
returnp;
intx;
cout<
请输入一个正整数:
if(!
f(x))cout<
不好意思"
<
不是素数!
\n"
elsecout<
是素数!
for()
1运行结果为:
不好意思1不是素数!
通过本次实验大致了解如何模块化的用函数来构建程序,定义函数的方法,能够初步运用函数来编译程序。
实验五指针
(1)掌握指针的概念,学会定义和使用指针变量。
(2)学会使用数组指针和指向数组的指针变量。
(3)学会使用字符串指针和指向字符串的指针变量。
(4)了解指向指针的指针的概念以及其使用方法。
(5)掌握指针、引用、数组做函数参数的传递机制。
(6)*学会使用指向函数的指针变量。
(1)阅读下面程序,写出其运行结果。
-5,-12,-7
5 运行结果为:
1
将一个3*3的矩阵转置,用一个函数实现。
在主函数中用scanf输入以下矩阵元素:
{2,4,6,8,10,12,14,16,18}。
将数组名作为函数参数。
函数调用后在主函数中输出已转置的矩阵。
说明:
矩阵转置是指将矩阵的行变成列。
第一行变成第一列,第二行变成第二列,,,
比如:
二维数组
123
456
789
变成
147
258
369
inta[3][3]={{2,4,6},{8,10,12},{14,16,18}};
intb[3][3],i,j;
3;
for(j=0;
b[j][i]=a[i][j];
b[i][j]<
246
81012
141618
自己写一个strcmp函数,实现两个字符串的比较。
两个字符串s1,s2由main函数输入,strcmp函数的返回值也在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 描述 程序设计 实验 报告