C++实验7及参考答案

合集下载

c程序设计实验参考答案

c程序设计实验参考答案
编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。
main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案

C 语言程序设计上机实验指导与习题参考答案(仅供教师内部参考)华南农业大学目录上机实验 (1)实验 1 C 语言程序初步 (1)一、实验目的 (1)二、实验内容 (1)实验 2 基本数据类型、运算和表达式 (3)一、实验目的 (3)二、实验内容 (3)实验 3 基本输入与输出 (5)一、实验目的 (5)二、实验内容 (5)实验 4 选择结构程序设计 (4)一、实验目的 (4)二、实验内容 (4)实验 5 循环结构程序设计(一) (9)一、实验目的 (9)二、实验内容 (9)实验 6 循环结构程序设计(二) (15)一、实验目的 (15)二、实验内容 (15)实验7 数组 (17)一、实验目的 (17)二、实验内容 (17)实验8 字符数组的应用 (22)一、实验目的 (22)二、实验内容 (22)实验9 函数的基本应用 (24)一、实验目的 (24)二、实验内容 (24)实验10 指针与结构体 (26)一、实验目的 (26)二、实验内容 (26)*实验11 链表 (29)一、实验目的 (29)二、实验内容 (29)*实验12 文件 (32)一、实验目的 (32)二、实验内容 (32)上机实验实验1 C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

(2)了解在该系统上如何编辑、编译、连接和运行一个 C 程序。

(3)通过运行简单的 C 程序,初步了解C 程序的特点。

(4)在教师的指导下,学会使用JudgeOnline 实验系统。

二、实验内容1. 运行第一个C 程序[题目:The first C Program]将下列程序输入TC(或VC++),编译、连接和运行该程序。

void main(){printf("The first C Program\n");}[具体操作步骤]以Turbo C 上的操作为例(1)Windows 进入后,按照第一章中介绍的方法,进入Turbo C。

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。

b) 一个C程序中至少应包括一个 main函数。

c) 在C语言中,输出操作是有库函数 printf( )函数完成。

二、单选题1、A2、C3、B解析:第1题答案:A 。

因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。

且到main函数结束。

第2题答案:C 。

因为 main函数没有限制必须位于程序的最前面。

C程序书写自由,一行内可写几个语句。

在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。

不过C语言本身并没有输入输出语句,输入输出是由函数完成的。

第3题答案:B。

因为一个C语言程序是由若干个函数组成的。

但至少包含一个main 函数,且main函数的位置不限。

三、编程题1、编写一个输出“Welcome to C!”信息的小程序。

解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。

海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。

*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。

*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。

实验7气相反应平衡常数的测定

实验7气相反应平衡常数的测定

实验7 气相反应平衡常数的测定一、 目的要求1.直接测定法测量不同温度下二氧化碳与灼热碳反应的平衡常数。

2.了解高温的测量和控制及气体的取样分析。

二、原理二氧化碳与灼热碳的反应:C (s )+CO 2(g )−−→−高温2CO (g ) ∆r H m =157.78kJ ·mol -1假定反应气相混合物为理想气体,对于复相化学平衡,其平衡常数用各组分气体分压表示: )/()/(2CO 2CO o o p p p p p K = (7-1) )/()/(2CO 2CO o o p p x p p x p K ⋅⋅=(7-2)在实验条件下反应总压近似保持在101325Pa , 故总总n n n n n n n n x x K o p⋅-=+==)()(2222CO 2CO CO CO CO 2CO CO 2CO 由理想气体状态方程得)/)(//()/(CO 2CO RT V RT V RT V RT V K o p总总-= =)(/CO 2CO V V V V -总总 (7-3)式中V co 为标准态压力下一氧化碳的体积,V 总为标准态压力下一氧化碳和二氧化碳平衡混合气的总体积。

本实验中对反应达平衡后的混合气体“冻结”后进行取样分析,可测出V 总和V CO 。

二氧化碳与碳高温下的等压反应热效应为+157.78kJ ·mol -1,是吸热反应。

温度升高,反应向生成CO 方向进行,平衡常数增大。

而且该反应有体积变化,压力增加,反应向气体体积缩小的方向即生成CO 2方向进行。

当压力恒定时,影响化学平衡移动的因素只有温度。

故可在不同的温度下对反应平衡常数进行测量,从而考察温度对平衡常数的影响。

该反应除考虑热力学平衡外,还要考虑动力学因素。

该反应是非均相反应,CO2还原成CO的速度在低于600℃时很慢,温度高于1100℃速度才显著加快。

因此,在较低温度下,反应要达到平衡需要很长时间。

三、仪器和试剂反应装置一套(UJ-36型便携式电位差计一台;XCT-101动圈式温度指示调节仪一台;镍铬-镍铬鎧装热电偶两对);CO2钢瓶一个;碳粒;40%NaOH溶液;液体石蜡;饱和食盐水。

c程序设计教程与实验课后答案

c程序设计教程与实验课后答案

c程序设计教程与实验课后答案【篇一:c程序设计教程与实验第10章习题参考答案】题1.二进制文本2.rewind()3.字节流式4.”abc.dat” “rb”5.06.将文件位置指针从文本末尾处向文件头的方向移动10个字节7.将文件file1.txt的内容输出到屏幕8.将f1的字符保存到f2中9.rfetc(fp)num++10.fopen(“file.dat”,”wb”)dt,1,9,fp三、程序分析题1. 242.复制f1到f23.1.14.1177995. 65a 66b 67c 68d 69e 70f 71g 72h 75k 76l 77m 78n 79o 80p 81q 82r 85u 86v 87w 88x 89y 90z四、编程题1.#includestdio.h#includestdlib.hint main(){char file[10],file1[10],ch;file *in,*out;scanf(%s,file);scanf(%s,file1);if((in=fopen(file,r))==null){printf(cant open file\n);exit(0);}if((out=fopen(file1,w))==null) 73i 74j 83s 84t {printf(cant open file1\n);exit(0);}while(!feof(in)){ch=fgetc(in);fputc(ch,out);putchar(ch);}fclose(in);fclose(out);return 0;}2.#include stdio.h#includestring.h#include errno.hint main(void){file *fp;char ch;if (null == (fp = fopen(g3, r))){printf(fopen g3 error: %s\n, strerror(errno)); return 0;}while ((ch = fgetc(fp))!=eof){printf(%c, ch); }fclose(fp);printf(\n);return 0;}3.#includestdio.hvoid main(){file *fp; /*定义一个文件指针*/int i;double a[10];if((fp=fopen(data.txt,wb+))==null){printf(file can not open,press any key to exit!\n); getch(); /*从键盘上任意输入一字符,结束程序*/exit(1);}for(i=0;i10;i++)scanf(%lf,a[i]);for(i=0;i10;i++)fwrite(a+i,sizeof(double),1,fp);printf(\n);rewind(fp);fread(a,sizeof(double),10,fp);for(i=0;i10;i++)printf(%f\n,a[i]);printf(\n);fclose(fp);}4.#includestdio.hvoid main(){file *fp;int a[80],i,j;int a,b,c;a=b=c=0;if(fp=fopen(g4.dat,r))==null)printf(读取失败\n);for(i=0;i80;i++){fscanf(fp,%d,a[i]);if(fp==eof)break;}for(j=0;j=i;j++){if(a[i]0) a++;if(a[i]0) b++;if(a[i]==0) c++;}printf(正=%d,负=%d,零=%d\n,a,b,c);5.#includestdio.hstruct student{char num[10];char name[8];int score[2];float ave;} stu[3];void main(){int i,j,sum;file *fp;for(i=0;i3;i++){printf(\ninput score of student %d:\n,i+1);printf(no.:);scanf(%s,stu[i].num);printf(name:);scanf(%s,stu[i].name);sum=0;for(j=0;j2;j++){printf(score %d:,j+1);scanf(%d,stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/2.0;}fp=fopen(stud,w);for(i=0;i3;i++)if(fwrite(stu[i],sizeof(struct student),1,fp)!=1) printf(file write error\n);fclose(fp);fp=fopen(stud,r);for(i=0;i3;i++){fread(stu[i],sizeof(struct student),1,fp);printf(\n%s,%s,%d,%d,%d,%6.2f\n,stu[i].num,stu[i].name,stu[i]. score[0], stu[i].score[1],stu[i].score[2],stu[i].ave);}}【篇二:c语言程序设计实训教程习题和实验解答】ss=txt>2.1 c语言概述【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。

《C语言程序设计教程》(第三版)课后习题参考答案

《C语言程序设计教程》(第三版)课后习题参考答案

C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。

新课标全国高考考前复习物理 实验7 测定金属的电阻率

新课标全国高考考前复习物理 实验7 测定金属的电阻率

新课标全国高考考前复习物理 实验七 测定金属的电阻率1.某同学做“测定金属电阻率”的实验.(1)需要通过实验直接测量的物理量有:__________________________________________ __________________________________________________________(写出名称和符号). (2)这位同学在一次测量时,电流表、电压表的示数如实图7-1所示.由图中电流表、 电压表的读数可计算出金属丝的电阻为________ Ω.实图7-1解析 (1)由R =ρl S 、R =U I 得ρ=Ud 2π4Il .需要直接测量的物理量有U 、I 、l 、d .(2)电压表读数是2.40 V ,电流表读数是0.46 A ,电阻R =U I =2.400.46Ω≈5.22 Ω.答案 (1)加在金属丝两端的电压U ,通过金属丝的电流I ,金属丝的长度l ,金属丝的直 径d (2)5.222.“探究导体电阻与导体长度、横截面积、材料的关系”的实验电路如实图7-2所示,a 、b 、c 、d 是四种不同的金属丝.现有四根镍铬合金丝和两根康铜合金丝,其规格如下表所示.实图7-2(1)(2)某学生对实验数据分析归纳出:电路图中四种金属丝的电阻R 与长度L 、横截面积S 的关系可用比例式R ∝L S来表示.你认为是否正确,为什么?________________________________________________________________________. (3)在交流合作时,有位同学提出用如实图7-3所示的电路,只要将图中P 端分别和1、 2、3、4相接,读出电流,利用电流跟电阻成反比的关系,也能探究出导体电阻与其影 响因素的定量关系,请你对其作出评价.实图7-3解析 (1)本实验采用的是控制变量法,分别选用导体材料相同、横截面积相同时,导体 的长度不同,B 、C 符合要求;选用导体材料相同、长度相同时,导体的横截面积不同, C 、D 符合要求;选用导体横截面积相同、长度相同时,导体的材料不同,C 、E 符合要 求.故选BCDE.答案 (1)BCDE (2)不正确,因为它们的材料不完全相同.(3)不能探究出. ①实验过程中无法保证每次金属丝两端的电压相等;②电流表的内阻与 金属丝相比不能忽略,对实验影响较大.3.在“测定金属的电阻率”的实验中,用螺旋测微器测量金属丝直径时的刻度位置如实图7-4所示,用米尺测出金属丝的长度L ,金属丝的电阻大约为5 Ω,先用伏安法测出金属丝的电阻R ,然后根据电阻定律计算出该金属材料的电阻率.实图7-4(1)从图中读出金属丝的直径为________mm.(2)为此取来两节新的干电池、电键和若干导线及下列器材: A .电压表0~3 V ,内阻10 k Ω B .电压表0~15 V ,内阻50 k Ω C .电流表0~0.6 A ,内阻0.05 Ω D .电流表0~3 A ,内阻0.01 Ω E .滑动变阻器,0~10 Ω F .滑动变阻器,0~100 Ω①要求较准确地测出其阻值,电压表应选________,电流表应选________,滑动变阻器 应选________.(填序号)②实验中某同学的实物接线如实图7-5所示,请指出该同学实物接线中的两处明显错 误.实图7-5错误1:_____________________________________________________________________ ____________________________________________________________________________ 错误2:_____________________________________________________________________ ____________________________________________________________________________ (3)若测得金属丝的直径用d 表示,电阻用R 表示,则该金属材料的电阻率ρ=________. 解析 (1)从螺旋测微器的固定刻度上可以看出,半毫米刻度线已经露出来,因此主尺上 应读0.5 mm ,可动刻度上接近第18个刻度线,可以估读0.180 mm(或0.179 mm),所以 该金属丝直径应为0.5 mm +0.180 mm(或0.179 mm)=0.680 mm(或0.679 mm). (2)①由电路图知电源是两节干电池,电动势是3 V ,用3 V 量程的电压表A ;因为电阻 丝的电阻大约为5 Ω,如果把3 V 的电动势全加在电阻丝上,电流才是0.6 A ,因此用量 程是0.6 A 的电流表C ;此题中金属丝的电阻大约为5 Ω,为了减小实验误差,应选10 Ω的滑动变阻器E.(3)由R =ρL S 可得:ρ=πRd24 L.答案 (1)0.680(或0.679) (2)①A C E ②错误1:导线连接在滑动变阻器的滑片上 错误2:采用了电流表内接法 (3)πRd24 L4.(1)用螺旋测微器测量某金属丝直径的结果如实图7-6所示,该金属丝的直径是________mm. (2)某同学测量阻值约为25 k Ω的电阻R x ,现备有下列器材: A .电流表(量程100 μA ,内阻约2 k Ω); B .电流表(量程500 μA ,内阻约300 Ω); C .电压表(量程15 V ,内阻约100 k Ω); D .电压表(量程50 V ,内阻约500 k Ω); E .直流电源(20 V ,允许最大电流1 A); F .滑动变阻器(最大阻值1 k Ω,额定功率1 W); G .开关和导线若干.电流表应选________,电压表应选________.(填字母代号)该同学正确选择仪器后连接了以下电路,如实图7-7所示,为保证实验顺利进行,并 使测量误差尽量减小,实验前请你检查该电路,指出电路在连线上存在的问题: ①________________________________________________________________________; ②________________________________________________________________________.实图7-7解析 (1)D =1 mm +0.5 mm +20.6×0.01 mm=1.706 mm.(2)由于电源电压为20 V ,为测量精确应选电压表C ,此时电路中电流表的最大电流I m =15 V 25 k Ω=0.6 mA =600 μA ,为保证安全,需选电流表B.R x R V ≈14,R A R x ≈180,故R x 是大电 阻,故电流表应采用内接式接法.滑动变阻器最大阻值1 k Ω,待测电阻约25 k Ω,限流 式接法变阻器调节范围很小,起不到应有作用,故应采用分压式接法. 答案 (1)1.706(1.704~1.708均可)(2)B C ①电流表应采用内接的方式 ②滑动变阻器应采用分压式接法图7-3-65.如实图7-8所示是一些准备用来测量待测电阻R x 阻值的实验器材,器材及其规格列表如下:一半,而且调节滑动变阻器能使电表读数有较明显的变化.请用实线代替导线,在所给 的实验器材中选择合适的器材,连成满足要求的测量R x 阻值的电路.实图7-8解析 由于待测电阻约1 000 Ω,滑动变阻器最大电阻为100 Ω,要使电表读数发生变化, 滑动变阻器必须使用分压式接法.当电源电动势全部加在待测电阻上时,流过的电流约为I =E R x =91 000A =9 mA<3.0 A ,显然不能用电流表来测电流,而应该把其中一个电压表V 1当电流表来使用.根据比值法容易判断出待测电阻是大电阻,伏安法应使用内接法. 答案6.为了测量电流表A1的内阻,某同学采用如实图7-9所示的实验电路.其中:实图7-9A1是待测电流表,量程为300 μA,内阻约为100 Ω;A2是标准电流表,量程是200 μA;R1是电阻箱,阻值范围是0~999.9 Ω;R2是滑动变阻器;R3是保护电阻;E是电池组,电动势为4 V,内阻不计;S1是单刀单掷开关,S2是单刀双掷开关.(1)①实验中滑动变阻器采用________接法(填“分压”或“限流”);②根据如实图7-9所示电路的实物图,请在下面方框中画出实验电路图.(2)请将该同学的操作补充完整:①连接好电路,将滑动变阻器R2的滑片移到最________(填“左端”或“右端”);将开关S2扳到接点a处,接通开关S1;调整滑动变阻器R2,使电流表A2的读数是150 μA;②将开关S2扳到接点b处,________,使电流表A2的读数仍是150 μA.③若此时电阻箱各旋钮的位置如实图7-10所示,则待测电流表A1的内阻R g=________Ω.实图7-10(3)上述实验中,无论怎样调整滑动变阻器R2的滑片位置,都要保证两只电流表的安全.在下面提供的四个电阻中,保护电阻R3应选用________.(填写阻值前相应的字母)A.200 kΩB.20 kΩC.15 kΩD.150 kΩ解析(1)①该电路为限流接法②电路图如答案图所示.(2)①闭合开关之前,应使滑动变阻器的阻值最大,滑片在最左端;本实验使用替代法测量电流表的内阻,因此开关S2接a和接b时电流表A2的读数应该相同,开关接b时,需调节电阻箱R1.③电阻箱表示的阻值大小等于被测电流表的内阻,读数为86.3 Ω.(3)当滑动变阻器R2的阻值为零时,电路中的电流不能超过两个电流表的量程,即I=ER3≤200×10-6A,解得R3≥20 kΩ.答案(1)①限流②如图所示(2)①左端②保持R2不变,调整变阻箱R1③86.3(3)B。

实验7验证动量守恒定律

实验7验证动量守恒定律

高频考点例析
【答案】 (1)c→b→d→a 答案】 (2)天平 滑块 、B的质量 A、mB 的质量m 天平 滑块A、 的质量
L1 L2 (3)mA =mB t1 t2
(4)只与 、B中的某一个粘连好, 只与A、 中的某一个粘连好 中的某一个粘连好, 只与 这样把弹簧的质量考虑进去, 这样把弹簧的质量考虑进去,会减小系 统误差.不能与A、 都粘连 否则A、 都粘连, 统误差.不能与 、B都粘连,否则 、 B可能碰不到 、D,计时误差较大 答 可能碰不到C、 ,计时误差较大(答 可能碰不到 案是开放的,只要合理即可) 案是开放的,只要合理即可
基础知识梳理
5.先不放被碰小球,让入射球从 .先不放被碰小球, 斜槽上同一高度处滚下,重复10次 斜槽上同一高度处滚下,重复 次, 用圆规画尽可能小的圆把所有的小球 落点圈在里面, 落点圈在里面,圆心就是入射球不碰 时的落地点P. 时的落地点 6.把被碰小球放在斜槽前端边缘 . 处,让入射小球从同一高度滚下,使 让入射小球从同一高度滚下, 它发生正碰,重复10次,仿步骤(5)求 它发生正碰,重复 次 仿步骤 求 出入射小球落地点的平均位置M和被碰 出入射小球落地点的平均位置 和被碰 小球落地点的平均位置N. 小球落地点的平均位置
高频考点例析
(2)以平抛时间为时间单位,则平 以平抛时间为时间单位, 以平抛时间为时间单位 抛的水平距离在数值上等于平抛初速 度.设A未碰 ,平抛水平位移为sA; 未碰B,平抛水平位移为 未碰 A、B相碰后,A、B两球的水平位移分 相碰后, 、 两球的水平位移分 、 相碰后 别为s 、 , 、 质量分别为 质量分别为m 别为 A′、sB′,A、B质量分别为 A、 则碰前A的动量可写成 的动量可写成m mB,则碰前 的动量可写成 AsA,碰 总动量为m 后A、B总动量为 AsA′+mBsB′,要验 、 总动量为 + , 证动量是否守恒, 证动量是否守恒,即验证以上两动量 是否相等. 是否相等.所以该实验应测量的物理 量有m 量有 A、mB、sA、sA′、sB′. 、
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上海电力学院实验报告课程名称高级程序设计C++(1) 实验项目实验七数组1姓名学号班级专业同组人姓名无指导教师姓名实验日期一、实验目的1、掌握一维数组的定义、赋值和输入输出的方法;2、掌握与数组有关的算法(特别是排序算法)。

二、实验内容和步骤编程序并上机调试运行。

1、按如下要求编程: 在第一个循环中给a数组的前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1;在最后一个循环中输出对称折叠以后的a数组的前10个元素。

●程序源代码(注意添加注释)#include<iostream>using namespace std;int main(){int a[10],i;for(i=0;i<10;i++) a[i]=i+1;for(i=5;i<10;i++) a[i]=a[9-i];for(i=0;i<10;i++) cout<<a[i]<<' ';return 0;}●运行结果(直接截取结果图)2、已知长度为10的数组a及其各个元素的值,对其按从大到小进行排序.●程序源代码(注意添加注释)//这里给出了另外一种排序算法.(采用课堂上讲的冒泡排序也可以实现,参见ppt)#include<iostream>using namespace std;int main(){int i,j,a[10]={3,32,6,2,67,9,21,45,23,8};for(i=0;i<10;i++){int p;p=i;for(j=i;j<10;j++)//该for循环找剩下j个元素里最大的那个元素的下标if(a[p]<a[j])p=j;if(p!=i){ //把目前的最大值a[p]放到前面来(和a[i]交换)int t;t=a[p];a[p]=a[i];a[i]=t;}}for(i=0;i<10;i++)cout<<a[i]<<' ';return 0;}●运行结果(直接截取结果图)3、有一个已经从小到大排好序的整数数组:a[30]={6,9,12,15,19,23,45,67,89,98},现输入一个整数x ,要求按原来的升序规律将它插入到数组中。

●程序源代码(注意添加注释)#include<iostream>using namespace std;int main(){int i,ps,n,a[30]={6,9,12,15,19,23,45,67,89,98};cout<<"请输入一个整数:";cin>>n;ps=10;for(i=0;i<10;i++) //该循环找应插入的位置{if(n<a[i]){ps=i;break;}}for(i=10;i>=ps;i--)//把插入位置之后(包括该位置)的元素依次往后挪一位a[i+1]=a[i];a[ps]=n; //插入输入的元素for(i=0;i<11;i++)cout<<a[i]<<' ';return 0;}●运行结果(直接截取结果图)4.请用户输入n个数(n的值不超过20,并由用户输入),每输入一个数据之后,按照由小到大顺序将其存入,然后显示当前已存储的数据的情况,直到最后一个数据。

程序源代码(注意添加注释)#include<iostream>using namespace std;int main(){int a[20],n,i,m,tmp,position;//输入在-20之间的数据个数cout<<"请输入数据的个数(最多不超过个):";cin>>n;while(n>20||n<1){cout<<"输入错误,请重新输入:";cin>>n;}//依次输入每个数据,并进行处理for(i=0;i<=n-1;i++){//输入第i+1个数据cout<<"请输入第"<<i+1<<"个数据:";cin>>tmp;position=i;//初始化插入的位置为i//查找该插入的位置for(m=i-1;m>=0;m--){if(a[m]>tmp){a[m+1]=a[m];position--;}elsebreak;}//将该数据插入到已排好序的数列中a[position]=tmp;//以下输出当前数列cout<<"目前的数据序列为:";for(m=0;m<=i;m++)cout<<a[m]<<" ";cout<<endl;}return 0;}//注:该题插入的实现和上一题插入的实现有些不同(但都可以实现同样目的),请自行比较。

● 运行结果(直接截取结果图)5. 求解一个32⨯阶矩阵与一个23⨯阶矩阵的乘积,并输出。

● 程序源代码(注意添加注释)●#include <iostream> ●using namespace std; ●int main() ●{ ●int a[2][3],b[3][2],c[2][2],i,j,m; ●//输入 ●//输入数组a ●for (i=0;i<=1;i++) ●for (j=0;j<=2;j++) ●{ ●cout<<"a["<<i<<"]["<<j<<"]="; ●cin>>a[i][j]; ●} ●//输入数组b ●for (i=0;i<=2;i++) ●for (j=0;j<=1;j++) ●{ ●cout<<"b["<<i<<"]["<<j<<"]="; ●cin>>b[i][j]; ●} ●//计算乘法 ●for (i=0;i<=1;i++) ●for (j=0;j<=1;j++) ●{ ●//计算c[i][j] ●c[i][j]=0; ●for (m=0;m<=2;m++) ●c[i][j]+=a[i][m]*b[m][j]; ●} ●//输出 ●//显示数组a ●cout<<"a="<<endl; ●for (i=0;i<=1;i++) ●{ ●for (j=0;j<=2;j++) ●cout<<a[i][j]<<'\t'; ●cout<<endl;●} ●//显示数组b ●cout<<"b="<<endl; ● for (i=0;i<=2;i++)●{●for(j=0;j<=1;j++)●cout<<b[i][j]<<'\t';●cout<<endl;●}●//显示运算结果●cout<<"运算结果为:"<<endl;●for(i=0;i<=1;i++)●{●for(j=0;j<=1;j++)●cout<<c[i][j]<<'\t';●cout<<endl;●}●return 0;●}●运行结果(直接截取结果图)6. 请用户输入一个2*2的矩阵,将其按行和按列复制的遍数,输出结果矩阵。

如矩阵1 23 4按行复制1遍,按列复制2遍后,结果矩阵为:1 2 1 2 1 23 4 3 4 3 41 2 1 2 1 23 4 3 4 3 4●程序源代码(注意添加注释)●#include<iostream>●using namespace std;●int main()●{●int a[2][2],b[20][20],i,j,repl,repr;●//输入数组a和复制的行列数●for(i=0;i<=1;i++)●for(j=0;j<=1;j++)●{●cout<<"a["<<i<<"]["<<j<<"]=";●cin>>a[i][j];●}●cout<<"请输入复制的行数和列数(不超过9):";●cin>>repl>>repr;●//实现复制●for(i=0;i<=repl;i++)●for(j=0;j<=repr;j++)●{●b[i*2+0][j*2+0]=a[0][0];●b[i*2+0][j*2+1]=a[0][1];●b[i*2+1][j*2+0]=a[1][0];●b[i*2+1][j*2+1]=a[1][1];●}●//输出●cout<<"结果为:"<<endl;●for(i=0;i<=repl*2+1;i++)●{●for(j=0;j<=repr*2+1;j++)●cout<<b[i][j]<<'\t';●cout<<endl;●}●return 0;●}●运行结果(直接截取结果图)三、实验中遇到的问题以及解决方法四、实验结论与体会1、结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。

2、添加适当注释,注意书写的层次结构。

3、整理上机步骤,总结经验和体会。

相关文档
最新文档