概述
浙师大C语言实验7一维数组答案
上机实验七 一维数组
学号: 姓名:
一.目的要求
掌握一维数组的基本概念,定义和初始化方法;
掌握一维数组的基本操作,如输入、输出、引用数组元素;
掌握与数组有关的基本算法,如寻找最大/最小值、排序等。
二.实验内容
【实验题1】程序改错:源程序用数组求Fibonacci数列前20项,但在带标记的代码行存在错误。源程序如下:
未改正错误之前,程序运行结果是(注意,最后一项 ——20,错误 ):
数组的下标应该从几开始?标出的三个错误语句行,应分别改为?
从0开始,
fib[1]= fib[2]= 1;//错误1( fib[0]= fib[1]= 1;
for(i=3; i<=20; i++)//错误2( for( i=2; i<20; i++)
for(i=1; i<=20; i++){//错误3( for( i=0; i<20; i++)
改正后,程序运行结果是
【实验题2】程序填空:给定平面上10个点,求其中离原点最近的点。源程序用一维数组x存放这10个点的x坐标,用一维数组y存放相应的y坐标,即第i个点的坐标为(x[i], y[i])。用变量index记录最近点的下标。程序中使用距离的平方做比较:x*x+y*y。
程序运行结果为:
数组x和y的长度应该各是多少?
x=10,y=10
如果将程序功能改为求10个点中离原点最远的点,语句行Line 11又应如何填写?if( d>min ){ //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中的首元素放入最后的元素。
#include
void main()
{int i, t, a[5];
printf("Input 5 integers:n");
for(i=0; i<5; i++) scanf("%d", &a[i]);
t= a[0];//Line 6
for(i=1; i<5; i++)//Line 7
a[i-1]=a[i];//Line 8
a[4]= t;//Line 9
printf("After rotation:n");
for(i=0;i<5;i++)printf("%5d", a[i]);
printf("n");
}
运行程序,输入1 2 3 4 5, 结果为:
如果将Line 8 改为“ a[i]= a[i+1]; ”,则Line 7应改为: for(i=0; i<4; i++)
如果要求程序实现数组元素的顺时针转动,那么Line 6、Line 7、Line 8、Line 9应该如何修改?
方法1:
t= a[4];//Line 6: 将最后一个元素搬至t
for(i=4; i>0; i--)//Line 7: 前4个元素依次后移一位
a[i]=a[i-1];//Line 8:后移一位
a[0]= t;
//Line 9:将t中存放的最后一个元素放入首元素的位置
方法2:
t= a[4];//Line 6: 将最后一个元素搬至t
for(i=0; i<4; i++)//Line 7: 前4个元素依次后移一位
a[4-i]=a[3-i];//Line 8:后移一位
a[0]= t;
//Line 9:将t中存放的最后一个元素放入首元素的位置
【实验题4】程序填空:输入整数x, 要求在给定的数组a中查找x, 若在a中找到了x,删除之;如果x在数组a中不出现,输出提示信息“Not Found”.
提示:要删除数组元素a[k],将a[k+1]…a[n-1]各向前移动一位:a[i]= a[i+1] (i= k, …, n-2)
源程序:
运行程序,输入2,结果是_Not Found!_.
输入3,结果是______1 5 7 9_____.
to prevent the accumulation of air, both ends of the tube are required the Center to bake. 6.2.5 sets should be at the bott
最后
以上就是坚定画板为你收集整理的c语言实验一维数值数组答案,浙师大 C语言 实验7一维数组+答案.doc的全部内容,希望文章能够帮你解决c语言实验一维数值数组答案,浙师大 C语言 实验7一维数组+答案.doc所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复