天津理工大学C语言上机报告题目加答案
更新时间:2023-12-22 09:32:01 阅读量: 教育文库 文档下载
- c语言程序设计上机报告推荐度:
- 相关推荐
实验五
(2009-9-24)
一、 实验名称:
数组。
二、 实验目的:
(1) 掌握C语言中一维数组、二维数组的定义方法; (2) 掌握字符数组与常用字符串处理函数的使用; (3) 掌握与数组有关的算法(如数组元素的排序);
(4) 进一步熟悉Visual C++6.0开发环境下调试程序的基本步骤。
三、 实验项目(必做题)
本次实验要求同学们事先在纸介质上编好解决下面问题的源程序,然后才允许进实验室上机调试。
(1) 定义1个一维数组:int arr[10],然后从键盘输入10个整数,编程求出其最大值、最小值以及平均值,并在屏
幕上打印输出。
提示:在一个循环体内用scanf函数输入10个数,然后再用一个循环处理数据处理。 测试实例: 输入:100 10 -125 -9 0 90 70 60 300 -250
输出: max=300
min=-250 ave= 14.60
注意:要求首先建立项目文件,然后建立源程序文件进行编辑、调试。
(2) 定义两个字符数组:char str1[80], str2[80],其中字符串str1接受从键盘输入,然后编程将字符数组str1的内
容逐个拷贝到字符数组str2中。(不允许使用库函数strcpy)
提示:从键盘接受1个字符串输入str1后,使用一个循环将str1中字符逐个赋值给str2中的对应元素。 测试实例: 输入:Hello World! 输出:Hello World!
注意:要求首先建立项目文件,然后建立源程序文件进行编辑、调试。
(3) 定义1个一维数组:int arr[20],然后从键盘输入20个整数,使用冒泡法编程将该数组从小到大进行排序,并
将排序后结果打印在屏幕上。
提示:利用一个二重循环体实现冒泡排序(算法的基本思想参见教材P134)。 测试实例:
1
输入:100 10 -125 -9 0 90 70 60 300 -250 -72 39 48 22 83 159 142 -129 -24 539 输出:-250 -129 -125 -72 -24 -9 0 10 22 39 48 60 70 83 90 100 142 159 300 539
(4) 将20个数存放在一个数组中,首先使用选择法对这20个数按升序排列,并输出排序后的结果;然后从键盘输
入一个数,要求用二分查找的方法找出该数在数组中的位置(即下标),如果该数不在数组中,则输出“无此数”。
提示:首先利用一个二重循环实现选择排序;然后使用单重循环来实现二分查找。 测试实例: 输入: 100 10 -125 -9 0 90 70 60 300 -250 -72 39 48 22 83 159 142 -129 -24 539 输出:-250 -129 -125 -72 -24 -9 0 10 22 39 48 60 70 83 90 100 142 159 300 539 输入: -129
输出: 17 输入: 301 输出: 无此数
(5) 定义1个二维数组:int arr[5][6],然后从键盘输入5行6列共30个整数,编程求出所有元素中的最大值、最
小值及其下标,同时求出每行元素的平均值,并在屏幕上打印输出。
提示:在一个二重循环体内用scanf函数输入30个数,然后再用一个二重循环处理数据处理。 测试实例: 输入: 6 5 4 3 2 1 7 8 9 10 11 12 13 14 15 16 17 18 24 23 22 21 20 19 30 29 28 27 26 25
输出: Maximum:a[4][0]=30
Minimum:a[0][4]=1; Average: Ave[0]= 3.50 Ave[1]= 9.50
Ave[2]= 15.50 Ave[3]= 21.50 Ave[4]= 27.50
四、 实验项目(选做题)
(1) 课堂、以及教材中的一些示例程序。 (2) 教材P152页开始习题:7.1-7.15。
2
(1)
#include
int i,max,min,a[10]; float s=0,k; for(i=0;i<10;i++) {
scanf(\}
max=a[0],min=a[0]; for(i=0;i<10;i++) {
if(a[i]>=max) max=a[i]; if(a[i]<=min) min=a[i]; s=s+a[i]; }
k=s/10;
printf(\} (2)
#include
char str1[80]; char str2[80]; gets(str1);
for(i=0;i<80;i++) {
str2[i]=str1[i]; }
printf(\printf(\} (3)
#include
int a[20]; int i,j,t;
3
printf(\for(i=0;i<20;i++) scanf(\printf(\
for(j=0;j<20;j++) for(i=0;i<20-j;i++) if (a[i]>a[i+1]) {
t=a[i];
a[i]=a[i+1]; a[i+1]=t; }
printf(\for(i=0;i<20;i++) printf(\printf(\} (4)
#include
int i,j,x,min,a[21],n,t,m,b,loca,flag=1,sign; char c;
for(i=1;i<=20;i++) scanf(\ for(i=0;i<=19;i++) {
min=i;
for(j=i+1;j<=20;j++) if(a[min]>a[j])min=j; x=a[i];
a[i]=a[min]; a[min]=x; }
for(i=1;i<=20;i++) printf(\ printf(\ while(flag)
{scanf(\ sign=0;t=0;b=19; if((na[19])) loca=-1;
while((!sign)&&(t<=b)) {
m=(b+t)/2;
4
if(n==a[m]) {
loca=m;
printf(\ sign=1; }
else if(n
if(!sign||loca==-1)
printf(\ printf(\ scanf(\ if(c=='N'||c=='n') flag=0; } } (5)
#include
int a[5][6],max,min,b,c,d,e,i,j; float Ave[5]={0,0,0,0,0}; for(i=0;i<=4;i++) for(j=0;j<=5;j++)
scanf(\ max=a[0][0];min=a[0][0]; for(i=0;i<=4;i++){ for(j=0;j<=5;j++)
{ if(a[i][j]>max) { max=a[i][j];b=i;c=j; }
if(a[i][j] min=a[i][j];d=i;e=j; } Ave[i]=Ave[i]+a[i][j]; } } printf(\ printf(\ for(i=0;i<=4;i++) 5 printf(\ } 6
正在阅读:
天津理工大学C语言上机报告题目加答案12-22
印刷经营许可证09-12
U5新理念第五单元答案04-27
滚动轴承标志的具体内容与要求04-05
爆破施工安全操作规程10-23
度米文库汇编之关于等待的励志名言短句12-28
福建省宁德市2020年六年级上学期语文期末考试试卷A卷06-03
秋天的美景作文600字07-11
八年级数学下册月考检测试题05-21
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 天津
- 上机
- 理工大学
- 题目
- 答案
- 语言
- 报告
- 村官考试政治基础知识单选题精选
- 关于英文歌唱比赛的活动方案
- 2018年中国高速电机行业市场深度调研盈利空间报告目录
- 精密播种机项目可行性研究报告
- 毕业论文
- 雅思写作8分范文:警察配枪
- 刘东亮老师讲六祖坛经(13)
- 2011华安县驾校模拟考试c2自动档小车试题
- 工艺课程设计2
- 华南理工大学《路基路面工程》习题及参考答案
- 地下水动力学习题及答案
- 活性污泥数学模型的研究应用进展与问题讨论
- 双体系建设全员培训教材
- 实验专题一
- 图说二战第六集:巴巴罗萨行动
- 浅析农村金融对新农村建设的促进作用
- C# 编写的简单易懂的串口通讯代码带CRC校验 带详细的注释
- 精选中考物理(南粤版)复习配套检测:第四单元第3讲欧姆定律(含答案)
- 教师校本研修个人计划
- 优品课件之高考地理必备知识点:日影的朝向和长短变化