第4次上机作业
更新时间:2023-10-13 19:23:01 阅读量: 综合文库 文档下载
华 中 科 技 大 学
《计算机基础与程序设计(C++)》
实 验 报 告
实验名称:第四次上机实验 实验学时: 姓名: 学号: 实验日期: 一、实验目的
? 掌握一维数组的定义、输入、输出和基本操作。 ? 掌握二维数组的定义、输入、输出和基本操作。 ? 掌握字符串的存储和访问。
? 使用数组处理解决实际问题的能力。 ?
动态数组的访问
二、实验内容 1.阅读程序
1)#include
#include return 0; } 运行上述的程序,改正其中的错误,并解释错误原因。 正确代码: #include 班级: 教师批阅签字: for(i=0;i<5;i++) { cin>>a[i]; cout< 调试错误: Subscript requires array or pointer type. 原因:数组元素个数不能是实数? 2)#include #include { int i,a[5]={0,1,2,3,4}; for(i=0;i<=5;i++) cout< 运行上述的程序,其结果是否正确,如不确请修改正确,并解释原因。 正确代码: #include 3) #include using namespace std; int main( ) { char rstr[10 ]=\ int i; for(i=0; rstr[i]!='\\0'; i++) //循环条件可以写成 rstr[i]!=0; 或 rstr dstr[i]=rstr[i]; cout<<\输出字符串dstr:\ return 0; } 上述程序的功能是将字符串rstr复制到目标串dstr中,运行该程序结果是否正确,如不正确请修改正确,并解释原因。 正确代码: #include for(i=0; rstr[i]!='\\0';i++) //循环条件可以写成 rstr[i]!=0; 或 rstr dstr[i]=rstr[i]; dstr[i]='\\0'; cout<<\输出字符串dstr:\ return 0; } 解释原因: 因为赋值时原串的’\\0’并没有赋值给目标串,所以循环结束后一定要加上语句dstr[i]='\\0';否则程序运行会出现异常。 4) #include using namespace std; int main( ) { char name1[]={'a','b','c','d'}; char name2[]=”abcd”; for(i=0;i<4;i++) cout< cout< 运行上述程序,比较三种输出的异同,并解释原因。 输出1和输出2:字符数组name1的处理与数值型数组没有差异,因为结尾没有’\\0’,没有构成c++字符串,若用输出2语句“cout< 输出3:输出的是字符串,初始化时直接用字符串常量赋值。 5)#include using namespace std; int main( ) {int a=10, b=20,*p=&a,*q; cout< cout< *q=b; cout< 编译调试上述程序,如有错误请修改,并解释原因。 5)int a[5]={1,2,3,4,5}; int *p=a; 在上述语句的基础上,请用5种方式输出数组a的各元素。参考教材P142页 for(i=0;i<5;i++) cout< cout<<*(p+i)<<””; //指针表示法 for(i=0;i<5;i++) cout<<*(a+i)<<””; //下标表示法 for(i=0;i<5;i++) cout< cout<<*(p++)<<””; //通过移动指针p指向不同的元素 2. 编程题 1)定义包含 10 个元素的一维数组,输入输出各元素的值,然后求出最大值将其与第一个数交换位置后再输出。 要求: ? 程序原代码。(直接粘贴在此) #include int a[10]; int i,max,j,temp; cout<<\请输入10个数:\ for(i=0;i<10;i++) cin>>a[i]; max=a[0]; for(i=0;i<10;i++) { if(max max=a[i]; j=i; } } temp=a[0]; a[0]=a[j]; a[j]=temp; cout<<\交换后数组\for(i=0;i<10;i++) { cout< cout< ? 解决本题的算法思路描述 利用了经典交换语句实现最大值和第一个数交换,其中j是最大值下标: temp=a[0]; a[0]=a[j]; a[j]=temp; ? 调试过程的记载(包括出现的错误,以及修改过程) ? 归纳本题应用的知识点或算法 2)编写一个程序,定义 5 行 4 列二维数组,并对前 4 行 4 列的元素赋值,计算二维数组前 4 行各列之和,且将每列之和放于各列最后一行的位置,然后输出该二维数组(按行列的格式输出)。 要求: ? 程序原代码。(直接粘贴在此) #include int i, j; int a[5][4]; cout<<\请输入\请输入前四行四列元素:\
正在阅读:
第4次上机作业10-13
遗传学实验2012 - 图文12-01
分气缸分汽缸的设计与安装04-10
燃气热水器显示器错误代码及维修10-22
未来版一年级上册品德与生活教案03-01
在失败中成长作文02-04
中山医实习出科考内科4.2103-30
导游基础知识各章节测试题11-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 上机
- 作业