实验六参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六:参考答案

1、用数组实现输入任意十个整数,用擂台赛法求其最大值和最小值。(C语言源程序文件名为61.c,程序运行结果文件名为61.txt)

【参考程序】

#include

void main()

{int i,max,min,a[10];

FILE *fp;

fp=fopen("e:\\6\\61.txt","w");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

max=min=a[0];

for(i=1;i<10;i++)

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

if(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

void main()

{static int a[10]={67,45,43,35,32,30,28,25,24,10};

int top,bot,mid,x;

FILE *fp;clrscr();

fp=fopen("e:\\6\\62.txt","w");

top=0;bot=9;

mid=(top+bot)/2;

else bot=mid-1;

mid=(top+bot)/2;

}

if(x==a[mid]) fprintf(fp,"%d,%d\n",a[mid],mid);

else fprintf(fp,"can not be found\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

main()

{static int a[N]={56,23,-5,4,120,333,21,-40,2,10},i,t;

FILE *fp;clrscr();

fp=fopen("e:\\6\\63.txt","w");

for(i=0;i

fprintf(fp,"\n");

for(i=0;i

{t=a[i];a[i]= for(i=0;i

fprintf(fp,"%d ",a[i]);

fprintf(fp,"\n");

fclose(fp);

}

4、输入若干有序数(要求降序,比如67,45,43,35,32,28,25,24,10)放在数组中。然后输入一个数(比如30),插入到此有序数列中,插入后,数组中的数仍然有序。要求将原数组和插入后的数组输出到文件中)(C 语言源程序文件名为64.c ,程序运行结果文件名为64.txt )

【参考程序】

#include

main()

{int a[10]={67,45,43,35,32,28,25,24,10};

int i,x,p,n;

FILE *fp;

scanf("%d",&x);

p=0,n=8;

for(i=0;i<=n;i++)

fprintf(fp,"\n"); while(x

p++; for(i=n;i>=p;i--) a[i+1]=a[i];

a[p]=x; n++;

fclose(fp);

}

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

main()

{static int a[10]={56,23,-5,4,120,333,21,-40,2,10},i,n,p,x;

FILE *fp;

n=9;

fp=fopen("e:\\6\\65.txt","w");

for(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

a[i]=a[i+1];

n--;

for(i=0;i<=n;i++)

fprintf(fp,"%d ",a[i]);

fprintf(fp,"\n");

fclose(fp);

}

四、附加题:

6、把a数组中的5个数和b数组中逆序的5个数一一相减,结果存在c数组中。例如:当a数组中的值是:1、3、5、

7、8,b数组中的值是:2、3、4、5、8,程序运行后,c数组中存放的数据是-7、-2、1、4、6。最后将三个数组分别输出到文件中。(C语言源程序文件名为66.c,程序运行结果文件名为66.txt)

【参考程序】

#include

main()

{FILE *fp;

int a[]={1,3,5,7,8},b[]={2,3,4,5,8},c[5];

int i;

fp=fopen("e:\\6\\66.txt","w");

for(i=0;i<5;i++)

c[i]=a[i]-b[5-1-i];

相关文档
最新文档