1、
实验六:参考答案
1、用数组实现输入任意十个整数,用擂台赛法求其最大值和最小值。(C语言源程序文件名为61.c,程序运行结果文件名为61.txt)
【参考程序】
#include
2、min) min=a[i];}
fprintf(fp,"max=%d,min=%d\n",max,min);
fclose(fp);
}
4、有一数组中的数为67,45,43,35,32,30,28,25,24,10,要求用折半查找的方法找出数组中24所在的位置。(C语言源程序文件名为62.c,程序运行结果文件名为62.txt)
【参考程序】
#include
3、rscr();
fp=fopen("e:\\6\\62.txt","w");
top=0;bot=9;
注意:当数组元素是降序排列时,top和bot的变换
scanf("%d",&x);
mid=(top+bot)/2;
while(x!=a[mid]&&top<=bot)
{if(x 4、ound\n");
fclose(fp);
}
3、有一数组中的数为56,23,-5,4,120,333,21,-40,2,10,要求编程实现数组中的数据实现前半段和后半段平移,即数组中的数变为333,21,-40,2,10,56,23,-5,4,120。(要求将原数组和平移后的数组输出到文件中)(C语言源程序文件名为63.c,程序运行结果文件名为63.txt)
【参考程序】
#define N 10
#include 5、 *fp;clrscr();
fp=fopen("e:\\6\\63.txt","w");
当数组中的数为单数时,中间一个数保持位置不变
for(i=0;i 6、数(要求降序,比如67,45,43,35,32,28,25,24,10)放在数组中。然后输入一个数(比如30),插入到此有序数列中,插入后,数组中的数仍然有序。要求将原数组和插入后的数组输出到文件中)(C语言源程序文件名为64.c,程序运行结果文件名为64.txt)
【参考程序】
#include 7、
p=0,n=8;
for(i=0;i<=n;i++)
此while循环查找插入位置
fprintf(fp,"%d ",a[i]);
fprintf(fp,"\n");
while(x=p;i--)
a[i+1]=a[i];
此赋值语句实现数据的插入
a[p]=x;
n++;
for(i=0;i<=n;i++)
此for循环实现插入数据后的数组输出
fprintf(fp,"%d ",a[i]);
fclose(fp);
}
8、5、有一数组中的数为56,23,-5,4,120,333,21,-40,2,10,要求编程将数组中数56删除,即数组中的数变为23,-5,4,120,333,21,-40,2,10。(要求将原数组和删除后的数组输出到文件中)(C语言源程序文件名为65.c,程序运行结果文件名为65.txt)
【参考程序】
#include 9、i=0;i<=n;i++)
fprintf(fp,"%d ",a[i]);
fprintf(fp,"\n");
scanf("%d",&x);
p=0;
while(x!=a[p]&&p<=n)
p++;
for(i=p;i 10、中的值是:1、3、5、7、8,b数组中的值是:2、3、4、5、8,程序运行后,c数组中存放的数据是-7、-2、1、4、6。 最后将三个数组分别输出到文件中。(C语言源程序文件名为66.c,程序运行结果文件名为66.txt)
【参考程序】
#include 11、i++)
fprintf(fp,"%d ",c[i]);
fclose(fp);
}
7、将9个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2], 成绩为90到99的人数存到b[3],成绩为100的人数存到b[4], 成绩为60分以下的人数存到b[5]中。(a数组长度定义为9)
例如,当a数组中的数据是:
93、85、77、68、59、43、94、75、98。
程序运行后,b数组中存放的数据应是:
1、2、1 12、3、0、2。
(C语言源程序文件名为67.c,程序运行结果文件名为67.txt)
【参考程序】
#define N 9
#include






