数组

2019-01-10 13:05

实验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 #include void main() {

int i, j, a[10], t;

printf(\

for(i=0; i<10; i++) /*读入数据*/ scanf(\

printf(\

for(i=0; i<10; i++) /*输出原始数据*/ printf(\

printf(\

for(i=0,j=9; i

t=a[i]; a[i]=a[j]; a[j]= t; }

printf(\输出逆序存放后的数据*/ for(i=0; i<10; i++) printf(\

printf(\}

3. 编程:输入n个(1

Input n: 5

Input 5 integer: 8 2 5 1 4 max=8 index=0 min=1 index=3 average=4

#include void main() {

int i, n , max, min, a[10], sum; float average;

printf(\ scanf(\

if(1

printf(\输入数据并求累加和*/ for(i=0, sum=0; i

scanf(\ sum+=a[i]; }

average=(float)sum/n; /*求出平均值*/

for(i=0, max=0, min=0; i

if(a[i] > a[max]) max= i;

if(a[i] < a[min]) min= i; }

printf(\ printf(\ printf(\} else

printf(\数据超出范围\

}

4. 编程:青年歌手参加歌曲大奖赛,有10个评委对她(他)进行打分,试编程求这位选手的平均得分并输出(去掉一个最高分和一个最低分)。

#include

void main() {

int i, max, min; float a[10], ave;

printf(\请输入10个评委的打分:\

for(i=0, ave=0; i<10; i++) /*输入分数并求累加和*/ {

scanf(\

ave);

}

ave+=a[i]; }

for(i=0, max=0 , min=0; i<10; i++) /*求最大、最小值的下标*/ {

if(a[i]>a[max]) max=i;

if(a[i]

ave=ave-a[max]-a[min]; ave=ave/8;

printf(\该选手的评委打分是:\for(i=0; i<10; i++)

printf(\printf(\

printf(\去掉最高分%.2f,去掉最低分%.2f,该选手的平均得分是%.2f\\n\a[max], a[min],

5. 编程:用两种方法输出斐波那切数列的前40项(参考例6-4)。 要求: (1)方法1:不使用数组; #include void main() {

int f1=1, f2=1, f3, i;

printf(\ for(i=3; i<=40; i++) {

f3=f1+f2;

printf(\ if(i%5==0)

printf(\ f1= f2; f2= f3; } }

(2)方法2:使用一维数组。 #include

void main() {

int i;

int fib[40];

fib[0]=fib[1]=1; }

6. 编程:输入n个(1

Input n: 5

Input 5 number: 8.5 2.3 5.1 1.4 4.9 After sorted: 8.50 5.10 4.90 2.30 1.40 #include void main() {

int i, j, n; float a[10], t;

printf(\ scanf(\

if(n>1 && n<=10) {

printf(\ for(i=0;i

scanf(\

printf(\输出排序前的数据*/ for(i=0; i

printf(\printf(\

for(i=0; i

for(i=2; i<40; i++) /*计算其余的38个数*/ fib[i]= fib[i-1] + fib[i-2]; for(i=0; i<40; i++) {

printf(\ if((i+1)%5==0) printf(\}

{

t=a[j];

a[j]=a[j+1]; a[j+1]=t; }

printf(\输出排序结果*/ for(i=0; i

printf(\ printf(\} else

printf(\数据超出范围\

}

7. 在已经排好序的数组(长度不足10)中插入一个数m(键盘输入)后输出,保持数组的降序排列。 程序分析:首先找到插入位置,然后将插入位置之后的数依次后移一个位置。 #include void main() {

int i, p;

float a[10]={70.8, 68.5, 65, 47, 38, 30, 20, 19, 10} ; float m;

printf(\原始数据 :\输出原始数据序列*/ for(i=0; i<9; i++)

printf(\printf(\

printf(\请输入要插入的数据m: \ scanf(\

/*找到插入位置*/

p = 9; /*默认插入到最后的位置*/ for(i=0; i<9; i++) if( m > a[i]) {

p=i; break; }

for(i=9; i>=p+1; i--) /*将插入位置之后的元素后移*/ a[i]=a[i-1]; /*插入*/

a[p]=m;

printf(\插入%.2f 后:\输出插入后结果*/ for(i=0; i<=9; i++)


数组.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2012年度四川省普通高中省级优秀学生、“三好”学生、优秀学生

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: