实验五 数组
C++语言程序设计形考二实验五

C++语言程序设计形考二实验五上机实验5:数组应用程序设计一、实验内容有如下程序:#include<iostream>using namespacestd;intmain(){__________________ //定义具有6个元素的整形数组dint data,i=0.// data用于暂存每一个输入数据,i记录已插入数据的个数。
cout<<"请输入6个整数:";do{ //输入并处理6个数据cin。
data;int j=i。
//j是候选的插入位置while(j>0){ //若j==0,它就是第一个数据的插入位置,无需进入循环。
if(data>=d[j-1]) __________。
//若找到插入位置,退出循环。
d[j]=d[j-1]。
//否则数据后移一个位置j--;}d[j]=data。
//数据插入到位置j处i++。
//i记录已插入数据的个数}while(________)。
//若缺乏6个数据,连续输入。
for(_______________________) cout<<d[i]<<' ';//表现数组中的6个数据cout<<endl;return 0;}此程序输入6个整数保存到一维数组d中,使得输入的数据在数组中始终按从小到大的顺序排列,最后顺序输出数组中的数据。
例如,若输入是5 7 4 29 3,程序的输出是:2 3 4 5 79.二、实验要求读懂步伐,弥补步伐中下划线处缺失的部分,上机测试,直至产生精确的输出成效。
三、实验结果截图。
FORTRAN实验报告2016LI

五、调试和测试结果
六、教师批语与成绩评定:
年月日
《FORTRAN语言》实验(上机)报告
班级·学号姓名实验日期任课教师
实验名称
实验二选择结构程序设计
验证型
一、实验目的
(1)掌握逻辑表达式的书写方法和逻辑型数据的使用;
(2)学会正确使用逻辑运算符和逻辑表达式;
(3)掌握块IF结构、块CASE结构、逻辑IF语句和算术IF语句。
(1)掌握字符型、双精度型常量变量的表示方法及其运算;
(2)掌握字符型数据的输入输出格式及数据类型之间的转换和运算规则。
二、实验内容:
(1)编写程序:输入一个字符,若为小写字母,则输出其大写字母;若为大写字母,则输出其小写字母;若为数字,则原样输出该数字字符;否则,输出*。
(2)编写程序,用双精度数据计算:
(1)编写程序:从键盘输入若干字符串,并把这些字符串存放到文件FILE1.TXT中。
(2)编写程序,读出当前文件夹下文件README.TXT的内容,显示在屏幕上。
三、实验平台
Fortran PowerStation4.0
四、程序清单
五、调试和测试结果
六、教师批语与成绩评定:
年月日
《FORTRAN语言》实验(上机)报告
PRINT*,Y
READ*,N
END
五、调试和测试结果
实验一正常运行,共有143个素数,其和为75067
实验二正常运行,当输入m=10时,输出结果为445
六、教师批语与成绩评定:
年月日
《FORTRAN语言》实验(上机)报告
班级·学号姓名实验日期任课教师
实验名称
实验四字符型数据程序设计
操作型
C语言实验五实验报告——数组

C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。
通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。
数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。
数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。
可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。
数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。
二维数组数组可分为一维和多维数组。
一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。
二维数组有行号和列号,因此,它同样需要两个下标。
数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。
三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。
程序执行正常。
3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对C语言数组的理论知识和基本操作进行练习,加深了对数组的了解和掌握。
程序设计实验报告总结.doc

程序设计实验报告总结实验五使用数组的程序设计班级学号姓名一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。
(2)掌握字符数组的使用。
(3)掌握与数组有关的算法。
二、实验内容及步骤1、验证性实验输入已编好的源程序,然后进行编辑、编译、连接和运行,观察运行结果。
(1)某数列前两项为0,1,以后各项均为前相邻两项之和,输出该数列前20项。
#include<stdio.h>main(){long i,x[20];x[0]=0;x[1]=1;for(i=2;i<20;i++)x[i] =x[i-1]+x[i-2];for(i=0;i<20;i++)printf("% ld\t",x[i]);}输出结果:(2)从键盘输入N个自然数,然后按升序进行排列。
用;比较法;#include<stdio.h>#define N 10main(){int a[N],t,i,j;for(i=0;i<N;i++) /*本循环输入N个原始数据*/scanf ("%d", &a[i]);for(i=0;i<N-1;i++) /*本循环完成排序*/for(j=i+1;j<N;j++) /* x[i]与它后边所有元素逐一比较,大则交换*/if (a[j]<a[i]) {t=a[j];a[j]=a[i];a[i]=t;}for(i=0;i<N;i++) /* 输出排序后的数组*/printf(" %d",a[i]);}输出结果:2、完成以下程序,并进行调试(1)从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别统计下列内容:a)统计不及格人数并打印不及格学生名单;b)统计成绩在全班平均分及平均分之上的学生人数并打印其学生名单;c)统计各分数段的学生人数及所占的百分比程序代码:#include<stdio.h>int F1(int i,int sum,int *a,int *counter){int j;printf("不及格学生名单:");for(j=1;j<i-1;j++){sum+=a[j];if(a[j]<60){printf("%3d",j);counter[0]++;}}return sum;}F2(int i,float average,int *a,int *counter){int j;printf("average=%f,成绩大于等于平均分的学生名单:",average);for(j=1;j<i-1;j++){if(a[j]>=average){printf("%3d",j);counter[11]++;}}}F3(int i,int *a,int *counter){int j;for(j=1;j<i-1;j++){if(a[j]<=10) counter[1]++;else if(a[j]>10&&a[j]<=20) counter[2]++;else if(a[j]>20&&a[j]<=30) counter[3]++;else if(a[j]>30&&a[j]<=40) counter[4]++;else if(a[j]>40&&a[j]<=50) counter[5]++;else if(a[j]>50&&a[j]<=60) counter[6]++;else if(a[j]>60&&a[j]<=70) counter[7]++;else if(a[j]>70&&a[j]<=80) counter[8]++;else if(a[j]>80&&a[j]<=90) counter[9]++;else if(a[j]>90&&a[j]<=100) counter[10]++;}printf("各分数段人数: 百分比:\n");for(j=1;j<=10;j++)printf("%d %f\n",counter[j],(float)(counter[j])/(i-2)); }main(){static int a[31],counter[12],flag;int i=1,j=1,sum=0;float average;printf("请输入学生成绩并以负值结束: ");do{scanf("%d",&a[i]);if(a[i]<0)flag=1;i++;}while(flag==0);sum=F1(i,sum,a,counter);printf("不及格人数=%d\n",counter[0]);average=(float)sum/(i-2);F2(i,average,a,counter);printf("大于等于平均分人数=%d\n",counter[11]);F3(i,a,counter);}运行结果:(2)编写一个程序,利用字符数组实现两个字符串的比较。
实验报告

实验四类,对象和接口一.实验目的(1)掌握类的声明,对象的创建以及方法的定义和调用。
(2)掌握打包机制。
(3)掌握类的继承。
(4)掌握类接口的使用。
二、实验方案(1)//Father.java;package tom.jiafei;public class Father{int height;protected int money;public int weight;public Father(int m){money=m;}protected int getMoney(){return money;}void setMoney(int newMoney){money=newMoney;}}//Jerry.java:import tom.jiafei.Father;public class Jerry extends Father{public Jerry(){super(20);}public static void main(String args[]){Jerry jerry=new Jerry();jerry.weight=200;jerry.money=800;int m=jerry.getMoney();System.out.println("m="+m);}}(2)interface ShowMessage{void 显示商标(String s);}class TV implements ShowMessage{public void 显示商标(String s){System.out.println(s);}}class PC implements ShowMessage{public void 显示商标(String s){System.out.println(s);}}public class Example4_28{public static void main(String args[]){ShowMessage sm;sm=new TV();sm.显示商标("长城牌电视机");sm=new PC();sm.显示商标("联想奔月5008PC");}}(3)求50以内的素数//Number.javapackage sushu;//将Number.java打包到文件夹sushu中public class Number{public void prn()//创建方法prn(){boolean flag ;for (int i=2;i<50;i++){flag = true ;//将flag初始化for (int j=2 ;j <= i/2 ; j++){ //只需对2到i/2之间取余,因为假如i/2到i有某个数x被i整除,则在2到i/2必定能找到一个数y(y*x=i)被i整除if (i%j == 0 ){flag = false ;break;//假如2到i/2有某个数被i整除,则跳出,执行下一次循环}}if (flag == true ){System.out.print(i+"\t");}//若flag为真,则i为素数,输出i的值}}}//Num.javaimport sushu.Number;//引用定义的包public class Num extends Number{public static void main(String args[]){Number num=new Number();num.prn();}}三、实验结果和数据处理(1)(2)(3)实验五数组与字符串一.实验目的(1)掌握一维数组的概念、定义和使用。
C语言实验五实验报告——数组

C语言实验五实验报告——数组实验五:数组实验目的:1.掌握数组的定义和使用;2.熟悉数组在函数中的传递;3.练习编写使用数组的程序。
实验原理:数组是一组相同类型的变量的集合,这些变量称为数组的元素。
数组的名字是一个指针常量,它存放的是数组首个元素的地址。
数组元素在内存中是连续存放的,可以通过下标访问每一个元素。
数组的定义:数组的定义格式为:数据类型数组名[数组长度];数组的初始化:数组可以在定义时进行初始化,也可以在定义之后通过赋值进行初始化。
数组作为函数参数:数组可以作为函数的形参进行传递,可以通过指针传递整个数组,也可以传递数组的部分元素。
实验步骤:1.编写一个程序,实现对学生成绩的管理。
要求如下:-使用一个数组保存学生的成绩;-能够动态添加学生的成绩,并显示添加成功的信息;-能够计算学生的平均成绩,并显示;-能够根据用户输入的学号查找对应学生的成绩,并显示。
2.编写一个程序,实现对一组整数进行排序。
要求如下:-首先自定义一个整数数组,数组元素个数为用户输入;-编写一个函数,实现对数组进行排序,要求使用选择排序算法;-在主函数中调用该函数,对数组进行排序后显示。
实验结果与分析:1.学生成绩管理程序运行结果如下:```-------学生成绩管理系统-------[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:90添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:85添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:2平均成绩为:87.5[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:3 [1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:4退出系统。
```2.整数排序程序运行结果如下:```-------整数排序-------请输入待排序的整数个数:6请输入第1个整数:5请输入第2个整数:3请输入第3个整数:9请输入第4个整数:2请输入第5个整数:7请输入第6个整数:1排序前的整数序列为:539271排序后的整数序列为:123579 ```实验总结:通过本次实验,我深入理解了数组的原理和用法,并且掌握了数组在函数中的传递。
C++语言程序设计形考二实验五

上机实验5:数组应用程序设计一、实验内容有如下程序:#include <iostream>using namespace std;int main(){__________________ //定义具有6个元素的整形数组dint data,i=0; // data用于暂存每一个输入数据,i记录已插入数据的个数。
cout<<"请输入6个整数:";do{ //输入并处理6个数据cin>>data;int j=i; //j是候选的插入位置while(j>0){ //若j==0,它就是第一个数据的插入位置,无需进入循环。
if(data>=d[j-1]) __________; //若找到插入位置,退出循环。
d[j]=d[j-1]; //否则数据后移一个位置j--;}d[j]=data; //数据插入到位置j处i++; //i记录已插入数据的个数}while(________); //若不足6个数据,继续输入。
for(_______________________) cout<<d[i]<<' ';//显示数组中的6个数据cout<<endl;return 0;}此程序输入6个整数保存到一维数组d 中,使得输入的数据在数组中始终按从小到大的顺序排列,最后顺序输出数组中的数据。
例如,若输入是5 7 4 29 3,程序的输出是:2 3 4 5 7 9。
二、实验要求读懂程序,补充程序中下划线处缺失的部分,上机测试,直至产生正确的输出结果。
三、实验结果截图(请将实际上机运行的结果截图并上传)。
山东大学汇编语言上机实验——实验五

子程序设计2.6显示学生名次表rank编制一个程序,要求接受键盘输入的一个班的学生成绩,并存放于一个50字的grade数组中,其中grade+i保存学号为I+1的学生成绩。
然后根据grade中的学生成绩,把学生成绩依次填入50字的rank数组中,其中rank+i的内容是学号为i+1的学生的名次。
再按学号顺序把名次从终端上显示出来。
本题要做的主要工作和例2.2的内容是完全一样的,只是增加了由用户键入学生成绩及输出学生名次两个部分的内容,因此这三个部分可以用子程序结构来完成。
子程序结构划分的层次图如图2.17所示,可以看出,main为主要模块,其下一层的三个模块为程序的三大部分。
现将各模块说明如下:1.模块名:main 为总模块输入:从键盘输入一个班的学生成绩输出:显示一个班的学生成绩功能:根据输入的学生成绩,计算并显示学生名次。
算法如下:一个学生名次等于成绩高于该学生的人数+1.2.模块名:input输入:以学号为序型键盘输入一个班的学生成绩。
各个成绩之间用逗号隔开,最后以回车符号结束。
输出:把一个班的学生成绩存入grade数组。
功能:接受一个班的学生成绩。
调用子模块decibin把键盘输入的一个十进制数转换为二进制数。
调用子模块crlf完成回车,换行功能。
3.模块名:rankp输入:从grade数组取得一个班的学生成绩。
输出:以学号为序计算出该班每个学生的名次存入rank数组。
功能:计算一个班的学生成绩。
算法为:一个学生的名次等于成绩高于该生的学生人数加1.4,。
模块名;output输入:把rank数组取得一个班的学生名次。
输出:把一个班的学生名次以学号为序在总端上显示出来。
功能:先是一个班的学生名次。
调用子模块decibin把键盘输入的一个十进制数转换为二进制数。
调用子模块crlf完成回车,换行功能。
5:模块名:decilin输入:从键盘输入一个十进制数。
输出:把该数转换成二进制数并存入BX寄存器中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
哈尔滨工程大学
《程序设计基础》实验报告
基础实践二
姓名:班级:
学号:
实验时间: 年月日
哈尔滨工程大学计算机基础课程教学中心
实验五:数组
实验题目1:对输入的n个整数,进行如下处理:
(1)将其升序排序;
(2)输入一个整数x,将它插入这组数中,使之仍然有序。
提示:#define N 20
……
int a[N];
printf("请输入数据的个数n(n<%d):",N);
scanf("%d",&n);
在插入x时可以考虑从数组后面逐一向前比较,如果x<a[j],则a[j]向后移动。
出处:自编
设计思想:
实验代码及注释:
验证与结论:
总结与心得体会:
实验题目2:二维数组的题目
某班有n人,输入每位学生四门课的成绩,统计每门课的优秀率和不及格率。
提示:要求定义一个二维数组,用来表示和存放四门课程的所有数据:
const int n=10;
float course[4][n+2]={0};
其中,course[k][0] ~ course[k][n-1]存放第k门课程的n个成绩,course[k][n]存放该课程的优秀率,course[k][n+1]存放该课程的不及格率,k=0~3,依次为四门课的序号。
出处:自编
设计思想:
实验代码及注释:
验证与结论:
总结与心得体会:
实验题目3:通常的文字处理软件中都有查找的功能,请编程实现该功能,具体要求是:在输入的字符串1中查找字符串2,如果找到输出其起始位置,否则输出未找到。
注意字符串2可能会出现多次,请全部找出来。
提示:可定义数组char text[100],find[10];假设字符串1长度不超过100,字符串2不超过10。
出处:自编
设计思想:
实验代码及注释:
验证与结论:
总结与心得体会:。