上机实验六 一维数组 答案
上机实验六 一维数组
班级 学号 姓名
本次题目一共5题,必做4个,选做1个。
选做题可能有点难度,请尝试着做一下,能做出来说明目前你已经很强了!
一.目的要求
掌握一维数组的基本概念,定义和初始化方法;
掌握一维数组的基本操作,如输入、输出、引用数组元素;
掌握与数组有关的基本算法,如寻找最大/最小值、排序等。
二.实验内容
【实验题1】程序改错:源程序用数组求Fibonacci数列前20项,但在带标记的代码行存在错误。源程序如下:
#includestdio.h
void main()
{ int i, fib[20];
fib[1]= fib[2]= 1; //错误1
for(i=3; i=20; i++) //错误2
fib[i]= fib[i-1] +fib[i-2];
for(i=1; i=20; i++){ //错误3
printf(%6d, fib[i]);
if( i+1)%5==0 ) printf(\n);
}
}
数组的下标应该从几开始?标出的三个错误语句行,应分别改为?
数组下标应该从0开始,错误1修改为:fib[0]= fib[1]= 1;错误2修改为:for(i=2; i20; i++);
错误3修改为:for(i=0; i20; i++)
未改正错误之前,程序运行结果是(只写最后一项 )
4181
改正后,程序运行结果是(只写最后一项 )
6765
【实验题2】程序填空:给定平面上10个点,求其中离原点最近的点。源程序用一维数组x存放这10个点的x坐标,用一维数组y存放相应的y坐标,即第i个点的坐标为(x[i], y[i])。用变量index记录最近点的下标。程序中使用距离的平方做比较:x*x+y*y。
#includestdio.h
void main()
{
int i, index; //index是离原点最近的点的下标
double d, min; //min是到原点的最近距离的平方
double x[]={1.1, 3.2, -2.5, 5.67, 3.42, -4.5, 2.54, 5.6, 0.97, 4.65}; // 赋初值
double y[]={-6, 4.3, 4.5, 3.67, 2.42, 2.54, 5.6, -0.97, 4.65, -3.33}; // :赋初值
index= 0 ; min= x[0]*x[0]+ y[0]*y[0] ; //设第0个点为最近点
for(i=1; i10; i++){
d= x[i]*x[i]+y[i]*y[i];
if( d min ){ //Line 11
min=d;
index=i;
}
}
printf(%d: x=%.2f, y=%.2f \n, index, x[index] , y[index] ); //输出最近点的下标和坐标
}
程序运行结果为:
数组x和y的长度应该各是多少?
10,10
如果将程序功能改为求10个点中离原点最远的点,语句行Line 11又应如何填写?if( dmin ){ //Line 11
【实验题3】程序填空:输入5个整数, 将这5个数按逆时针顺序转动一次后再输出,如输入1 2 3 4 5,逆时针转动一次后,输出2 3 4 5 1。要求用数组实现。
提示:设存放整数的数组为a。要实现数组逆时针转动,只要先将首元素a[0]“搬”至一个变量t中; 然后从第1个元素到最后1个元素,依次向前移一位, 即a[i-1]= a[i] ( i= 1, … , 4);最后将存放在t中的首元素放入最后的元素。
#includestdio.h
void main()
{
int i, t, a[5];
printf(Input 5 integers:\n);
for(i=0; i5; i++)
scanf(%d, a[i] );
t= a[0] ; //Line 7
for(i= 1 ; i 5 ; i++) //Line 8
a[i-1]=a[i]; //Line 9
a[4] = t; //Line 10
printf(After rotation:\n);
for(i=0;i5;i++)
printf(%5d, a[i] );
printf(\n);
}
运行程序,输入1 2 3 4 5, 结果为:2 3 4 5 1
【实验题4】程序填空:输入一个整数n (1≤n≤
您可能关注的文档
最近下载
- 探析巨细胞病毒感染对患儿免疫功能的影响及机制.docx VIP
- 河南省省直辖县级行政单位济源市2021-2022学年八年级上学期期末数学试题(word版含答案).docx VIP
- 2025-2026民主生活会个人对照检查发言剖析材料8篇(五个带头领导班子成员个人发言提纲).docx VIP
- 2026年新能源企业补贴资金管理规范与政策红利落地指南.pptx VIP
- 2024-2025学年江苏省常州市钟楼区六年级上期末数学试卷附答案解析.docx
- 安全文明措施费使用明细表(2024-07-07).xls VIP
- Line6 POD HD500综合效果器说明书.pdf VIP
- 会计学原理大串讲.ppt VIP
- 两篇:党员干部2025年度民主生活会个人聚焦“五个带头”对照检查发言提纲文稿.docx VIP
- 施耐德负荷开关ins样本.pdf VIP
原创力文档

文档评论(0)