程序实验报告网络版.docx
- 文档编号:24599847
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:51
- 大小:41.67KB
程序实验报告网络版.docx
《程序实验报告网络版.docx》由会员分享,可在线阅读,更多相关《程序实验报告网络版.docx(51页珍藏版)》请在冰豆网上搜索。
程序实验报告网络版
《程序设计基础》实验报告
实验一面向过程的简单程序设计
1.实验目的
掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运算符和表达式的使用。
掌握赋值语句的使用。
掌握数据的输入输出方法。
2.实验设备
VisualC++6.0
3.实验内容
(1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。
<1>
源代码:
#include
#include
voidmain()
{
intx,a,b,c,d,e,f,g;
cout<<"x=";
cin>>x;
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
cout<<"c=";
cin>>c;
cout<<"d=";
cin>>d;
e=a+b;
f=c-d;
g=e/f;
cout<<(x+g)< } 测试过程和运行结果分析: 输入数据为: 23425 运行结果为: 0 <2> 源代码: #include #include voidmain() { floatx,a,b,c,d,e; cout<<"x="; cin>>x; a=x+1; b=1/a; c=x+b; d=1/c; e=1+d; cout<<"jieguo"< } 测试过程和运行结果分析: 输入数据为: 2运行结果为: 1.19523 <3>sinX+cosX+tan-1X 源代码: #include #include voidmain() { floatx,a,b,c,d; cout<<"x="; cin>>x; a=sin(x); b=cos(x); c=1/tan(x); d=a+b+c; cout<<"jieguo"< } 测试过程和运行结果分析: 输入数据为: 1运行结果为: 2.02387 <4>ex+y+ex-y 源代码: #include #include voidmain() { intx,y; floata,b,c; cout<<"x="; cin>>x; cout<<"y="; cin>>y; a=exp(x+y); b=exp(x-y); c=(a+b); cout<<"jieguo"< } 测试过程和运行结果分析: 输入数据为: x=1y=1输出数据为: 8.38906 <5>log10(1+ ) 源代码: #include #include voidmain() { floata,b,c,x,d; cout<<"x="; cin>>x; a=(1+x*x); b=sqrt(a); c=(1+b); d=log10(c); cout<<"jieguo"< } 测试过程和运行结果分析: 输入数据为: x=8输出数据为: 0.957236 <6> + 源代码: #include #include voidmain() { inta,b,c,d,e; cout<<"a="; cin>>a; cout<<"b="; cin>>b; c=abs((a*a)-(b*b)); d=abs(a-b); e=(c+d); cout<<"jieguo"< } 测试过程和运行结果分析: 输入数据为: a=2b=1输出数据为: 4 (2)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。 <1> 测试过程和运行结果分析: 输入数据为: A 运行结果为: A 输入数据为: a 运行结果为: A 无论输入为大写或小写字母时,结果都为大写。 其中 ch=(ch>=’A’&&ch<=’Z’)? (ch+32): ch; 此语句是将大写字母转换为小写字母,如果是小写字母,则保持不变 <2> 测试过程和运行结果分析: 输入数据为: 10040,20003000,10001000,2000300,1004000 运行结果为: 0,1;1,0;0,1;1,1;0,0 功能: 分别判断数m,n与1000的大小 <3> 测试过程和运行结果分析: 输入数据为: 9运行结果为10 输入数据为: 10运行结果为11 输入数据为: 11运行结果为12 功能: 输入一个n,给n加1后输出 (3)编写程序实现下列问题的求解。 <1>根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。 源代码: #include voidmain() { floatpi,r,c,s; pi=3.14; cout<<"r="; cin>>r; cout<<"r="< cout<<"c="<<(2*pi*r)< cout<<"s="<<(pi*r*r)< } 测试过程和运行结果分析: 输入数据为: r=3 运行结果为: r=3 c=18.84 s=28.26 <2>读入三个整数a、b、c,交换它们中的数,使a存放b的值,b存放c的值,c存放a的值。 源代码: #include voidmain() { inta,b,c,t; cout<<"a="; cin>>a; cout<<"b="; cin>>b; cout<<"c="; cin>>c; t=a; a=b; b=c; c=t; cout<<"a="< cout<<"b="< cout<<"c="< } 测试过程和运行结果分析: 输入数据为: a=1b=2c=3 运行结果为: a=2b=3c=1 <3>对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。 例如,输入为1234时,输出结果为4,3,2,1。 源代码: #include #include voidmain() { inta,b,c,d,x; cout<<"x="; cin>>x; a=(x/1000); b=(x/100-a*10); c=(x/10-a*100-b*10); d=(x-a*1000-b*100-c*10); cout< } 测试过程和运行结果分析: 输入数据为: 2345运行结果为: 5432 3.思考题 *对任意输入的小于1的并且只有3位尾数的实数,分别求出其各位数字并输出。 要求输出的各数字之间要空2格。 例如,输入为0.368时,输出结果为‘0368’。 源代码: #include #include voidmain() { floatx; inta,b,c,d; cout<<"x="; cin>>x; a=x*1000/100; b=x*1000/10-a*10; c=x*1000-a*100-b*10; d=0; cout< } 测试过程和运行结果分析: 输入数据为: 0.423运行结果为: 0423 实验总结 本次实验学习了C/C++语言编程基本语法,能编写简单的赋值和输入输出程序。 实验二控制结构程序设计 1.实验目的 掌握if/else语句的用法,掌握循环语句for,do/while的用法。 2.实验设备 VisualC++6.0 3.实验内容 (1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。 <1>测试过程和运行结果分析: 运行结果: <1000,850><150,850><150,700><150,550><150,400><150,250><150,100><50,100><50,50> 50 功能: 给定2个数,用大数a减小数b,得到a-b,b一直循环下去,知道两数相等,之后输出相等的那个数。 <2>测试过程和运行结果分析: 运行结果: <1000: 45>22---10 功能: 得出1000除以45的商数22和余数10 <3>测试过程和运行结果分析: 运行结果为: *#*#*#$ 功能: i等于1,3,5时有余数,输出*#3次,没余数结束本次循环,以$结尾 <4>测试过程和运行结果分析: 运行结果为: a=2b=8 功能: 首次循环得出b=9,a=2,之后b--,b=8>0,跳出循环,输出结果. (2)编写程序实现下列问题的求解。 <1>求解下面函数的值。 ex+yx<0,y<0 z=ln(x+y)1≤x+y〈10 log10|x+y|+1其它情况 源代码: #include #include voidmain() { floatx,y; cin>>x>>y; if(x<0&&y<0){ cout<<"jieguo"<<(exp(x+y));} elseif(1<=(x+y)<10){ cout<<"jieguo"< else{cout<<"jieguo"< } <2>编程求解下列各计算式: 1)S= =1+2+3+…+100 源代码: #include voidmain() { ints,i; s=0,i=1; while(i<=100){ s=s+i; i=i++; } cout<<"jieguo"< } 2)S= =1! +2! +…+7! 源代码: #include voidmain() { floats=0,i=1; intj; for(j=1;j<=7;j++) { i=i*j; s=s+i; } cout<<"jieguo"< } 3)S=1×2+3×4+5×6+…+39×40 源代码: #include voidmain() { ints,i,j; s=0,i=1; while(i<=39){ j=(i*(i+1)); s=s+j; i=i+2;} cout<<"jieguo"< } 4)Y=X- + - +…+(-1)n+1 的值,其中X和n的数值由用户从键盘输入源代码: #include #include intft(intn) { intr; if(n==0)r=1; elser=n*ft(n-1); returnr; } voidmain() { floatx,y; intn,a; cout<<"x="; cin>>x; cout<<"n="; cin>>n; y=0; for(a=1;a<(2*n-1);a++) { y=y+(pow(-1,a+1)*pow(x,2*a-1))/(ft(2*a-1)); } cout<<"y="< } <4>编程产生出1到10以内的所有数对并输出,其中i>j。 源代码: #include voidmain() { inti,j; for(i=1;i<10;i++) for(j=1;j<10;j++) if(i cout<<"<"<"< } <5>编程求出10000以内的所有符合如下条件的数: 其高位数字小于低位数字。 如12,238,3578等。 但21,548不符合条件。 源代码: #include #include voidmain() { inti,a,b; for(i=10;i<100;i++) {a=i/10; b=i-a*10; if(a cout< } intj,c,d,e; for(j=100;j<1000;j++) { c=(j/100); d=((j/10)-c*10); e=(j-c*100-d*10); if((c {cout< } intp,f,g,h,k; for(p=1000;p<10000;p++) { f=p/1000; g=p/100-f*10; h=p/10-f*100-g*10; k=(p-f*1000-g*100-h*10); if((f cout< } } <6>求任一整数N的标准分解式,即素数因子之积。 例如16=2*2*2*2,15=3*5。 源代码: #include #include voidmain() { intn,i; cout<<"n="; cin>>n; i=2; while(i<=n) {if((fmod(n,i))==0) {cout< n=n/i;} else i=i++; } } 实验总结 本次实验掌握了if/else语句和switch语句、while语句、do/while语句和for语句的使用. 实验三数组 1.实验目的 掌握一维数组和二维数组的定义、初始化赋值、元素引用、字符数组和字符串函数的使用方法以及与数组有关的算法(特别是排序和查找算法)。 初步了解数组名与地址的关系。 2.实验设备 VisualC++6.0 3.实验内容 (1)阅读下列程序,写出其运行结果,并指出其功能。 <1>测试过程和运行结果分析: 运行结果: 1001999962591498481 Sumofa=635 1009996918481492591 功能: 将数组a[i]按由大到小的顺序排序 <2>测试过程和运行结果分析: 运行结果为: CERCOMP 功能: 判断a[0]! ='\0'后,从b[1]=a[1]将a[i]赋值给了b[i]。 <3>测试过程和运行结果分析: 输入数据为: 82运行结果为: 1000 功能: 前3次循环,num[1]=0n=4;num[2]=0n=2;num[3]=0n=1;第四次1%2不够除,余数为1,n=0;之后把num[i]倒序输出。 (2)编写程序实现下列问题的求解。 <1>编程产生下列数组,并输出。 ⑴一维数组 1)(149162536496481100) 源代码: #include voidmain() { inta[10]; inti,n; n=1; for(i=1;i<=10;i++){a[n]=i*i;n++;} cout<<"("; for(n=1;n<10;n++){cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 实验 报告 网络版