下面函数的功能是找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传
#include<stdlib.h>
#include<stdio.h>
void fun(int a[],int n, int *max, int *d)
{ int i;
*max=a[0];
*d=0;
for(i=0;【15】;i++)
if(*max<【16】)
{*max=a[i];*d=i;}
}
main()
{ int i, x[20], max, index, n=10;
randomize();
for(i=0;i<n;i++)
{
x[i]=rand()%50; printf("%4d",x[i]);
}
printf("\n");
fun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);
}
请编写一个函数fun(),它的功能是:找出一维数组元素中最大的值和它所在的下标,最大值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<stdlib.h>
include<stdio.h>
void fun(int a[],int n, int *max,int *d)
{
}
main()
{
int i, x[20], max, index, n=10;
randomize();
for(i=0; i<=n; i++)
{
x[i]=rand()%50;
printf("%4d",x[i]);
/*输出一个随机数组*/
}
printf("\n");
fun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);
}
以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回,请填空。(设N己定义)
int fun(int x[N])
{int i,k=0
for(i=0;i<N;i++)
if(x[i]<x[k])k=_____;
return x[k];
}
fun(int x,intb[])
{int k=0,r;
do
{r=x%______;
b[k++]=r;
x/=______;
}while(x);
}
一维数组a保存了n个整数(下标为0的空间未使用),下面是一个改进的起泡排序函数,实现对数组a中的n个整数进行升序排序。具体实现过程:在正反两个方向交替扫描,即第一趟把最大的整数放到最后,第二趟把最小的整数放在最前,如此反复进行,直至完成排序。在空格处补充代码,完成上述功能。 #define TRUE 1 #define FALSE 0 void DSort(int a[ ], int n) // a[0]未保存元素,对a[1..n]中的元素进行排序 { int bottom = 1; int top = n; int swapped = TRUE; int temp,i; int bound = 0; //记录已经排序的边界 while(swapped) // 如果元素未交换,则已经完成排序 { 1 ; for(i = bottom; i < top; i++) { if(a[i] > a[i+1]) { temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; swapped = TRUE; bound = i; } } top = bound; for(i = top; i > bottom; i --) { if(2 ) { temp = a[i]; a[i] = a[i-1]; a[i-1] = temp; swapped = TRUE; bound = i; } } 3 ; } }
阅读以下说明和C语言函数,将应填入(n)处。
[说明]
函数int find_Max_Min(int a[],int n)的功能是:找出n个元素的数组a中的最大元素和最小元素并输出,返回查找过程中元素的比较次数。查找方法如下:比较a[0]和a[n-1],若a[0]大,则交换a[0]和a[n-1]的值:再比较a[1]和a[n-2],若a[1]大,则交换a[1]和a[n-2]的值;以此类推,直到所有的元素都比较完。然后在数组的前半区从前往后找出小元素,在后半区从后往前找出大元素。
[函数]
int find_Max_Min(int a[],int n)
{/*找出n个元素的数组a的最大、最小元素并输出,返回查找过程元素中的比较次数*/
int i,Count=0;
int temp,Maxnum,Minnum;
for(i=0; i<n/2; i++){
Count=Count+1 /*元素比较次数计数*/
if(a[i]>a[(1)])
{/*数组元素交换代码略*/}
}
Maxnum=a[n-1]; Minnum=a[0];
for(i=1;i<n/2+n%2;i++){
Count=(2); /*元素比较次数计数*/
Minnum=(3)? a[i]:Minnum; /*找最小元素*/
Maxnum=(4)?(5):Maxnum; /*找最大元素*/
}
printf("Max=%d\n",Maxnum);
printf("Min=%d\n",Minnum);
return Count;
}
编写自定义函数int max(int a[])用于求整型一维数组a中的最大元素值。 编写主函数,主函数中定义整型一维数组a[],包含M(定义M为宏,代表10)个元素,从键盘输入元素值后,通过调用max函数,求出数组中的最大值,源程序命名为a21.c。 【测试数据与运行结果】 第一组 输入:1 2 3 4 5 6 0 9 8 7 输出: 最大的整数是9 第二组 输入:5 7 10 4 9 11 13 15 2 6 输出: 最大的整数是15 第三组 输入:9 8 7 6 15 19 21 22 23 24 输出: 最大的整数是24
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!