C语言$6 数组.doc
文本预览下载声明
实验6 数组
一、一维数组实验
2. 编程:输入长度为10的整型数组并输出;然后将其逆序存放后再输出。例如:
Input 10 number: 0 1 2 3 4 5 6 7 8 9
After reversed: 9 8 7 6 5 4 3 2 1 0
#includestdio.h
void main()
{
int i, j, a[10], t;
printf(Input 10 number: );
for(i=0; i10; i++) /*读入数据*/
scanf(%d, a[i]);
printf(origin data: );
for(i=0; i10; i++) /*输出原始数据*/
printf(%d , a[i]);
printf(\n);
for(i=0,j=9; ij ; i++,j--) /*逆序存放*/
{
t=a[i];
a[i]=a[j];
a[j]= t;
}
printf(After reversed: ); /*输出逆序存放后的数据*/
for(i=0; i10; i++)
printf(%d , a[i]);
printf(\n);
}
3. 编程:输入n个(1n=10)正整数并保存到数组中,求出最大值、最小值、平均值,以及最大值、最小值在数组中的下标分别是多少。例如:
Input n: 5
Input 5 integer: 8 2 5 1 4
max=8 index=0
min=1 index=3
average=4
#include stdio.h
void main()
{
int i, n , max, min, a[10], sum;
float average;
printf(Input n (1n=10): );
scanf(%d, n);
if(1n n=10)
{
printf(Input %d integer:, n); /*输入数据并求累加和*/
for(i=0, sum=0; in; i++)
{
scanf(%d, a[i]);
sum+=a[i];
}
average=(float)sum/n; /*求出平均值*/
for(i=0, max=0, min=0; in; i++) /*求最大、最小值的下标*/
{
if(a[i] a[max])
max= i;
if(a[i] a[min])
min= i;
}
printf(max=%-5d index=%d\n, a[max], max);
printf(min=%-5d index=%d\n, a[min], min);
printf(average=%.2f\n, average);
}
else
printf(数据超出范围);
}
4. 编程:青年歌手参加歌曲大奖赛,有10个评委对她(他)进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
#include stdio.h
void main()
{
int i, max, min;
float a[10], ave;
printf(请输入10个评委的打分:);
for(i=0, ave=0; i10; i++) /*输入分数并求累加和*/
{
scanf(%f, a[i]);
ave+=a[i];
}
for(i=0, max=0 , min=0; i10; i++) /*求最大、最小值的下标*/
{
if(a[i]a[max])
max=i;
if(a[i]a[min])
min=i;
}
ave=ave-a[max]-a[min];
ave=ave/8;
printf(该选手的评委打分是:);
for(i=0; i10; i++)
printf(%.2f , a[i]);
printf(\n);
printf(去掉最高分%.2f,去掉最低分%.2f,该选手的平均得分是%.2f\n, a[max], a[min], ave);
}
5. 编程:用两种方法输出斐波那切数列的前4
显示全部