更多"以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序"的相关试题:
[单项选择]以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
#define MIN -2147483647
int findmax(int x[],int n)
int i,max;
for(i=0;i<n;i++)
max=MIN;
if(max<x[i])max=x[i];
return max;
造成错误的原因是
A. 定义语句int i,max;中max未赋初值
B. 赋值语句max=MIN;中,不应给max赋MIN值
C. 语句if(max<x[i])max=x[i];中判断条件设置错误
D. 赋值语句max=MIN;放错了位置
[填空题]以下程序中,select
函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。
#define N 3
#define M 3
select(int a[N][M],int *n)
{ int i,j,row=1,colum=1;
for(i=0;ia[row][colum]){row=i;colum=j;}
*n= 【17】;
return 【18】;
}
main( )
{int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n);
printf("max=%d,line=%d/n",max,n);
}
[单项选择]以下程序调用findmax函数返回数组中的最大值
findmax(int*a,int n)
int * p,* s;
for(p=a,s=a;p-a<n;p++)
if(_____)s=p;
return(*s);
main( )
int x[5]=12,21,13,6,18;
printf(“%d/n”,findmax(x,5));
在下划线处应填入的是()
A. p>s
B. *p>*s
C. a[p]>a[s]
D. p-a>p-s
[填空题]
以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义)
int fun(int a[N][M])
{int i,j,row=0,co1=0;
for(i=0;i<N;i++)
for(i=0;j<M;j++)
if(a[i][j]>a[row][co1]){row=i;co1=j;}
return (12) ;
}
[填空题]以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。
void fun(int,int,int(*)[4],int *);
main( )
{ int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++) printf("%4d",b[i]);
printf("/n");
}
void fun(int m,int n,int ar[][4],int *br)
{ int i,j,x;
for(i=0;i
[填空题]
以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。
void fun(int,int,int(*)[4],int *);
main( )
{ int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++) printf("%4d",b[i]);
printf("/n");
}
void fun(int m,int n,int ar[][4],int *br)
{ int i,j,x;
for(i=0;i{ x=ar[i][0];
for(j=0;j_________=x;
}
}
[填空题]以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。
void fun(int,int,int(*)[4],int*);
main( )
{ int a [3][4]={{1,2,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b,);
for(i=0;i<3;1++)printf("%4d",b[i]);
printf("/n");
}
void fun(int m,int n,int ar[][4],int*br)
{ int i,j,x;
for(i=0;i<m;i++)
{x=ar[i][0];
for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
【 】=x; }
}
[填空题]以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。
void fun(int,int,int(*)[4],int*);
main( )
{ int a [3][4]={{1,2,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b,);
for(i=0;i<3;1++)printf("%4d",b[i]);
printf("/n");
}
void fun(int m,int n,int ar[][4],int*br)
{ int i,j,x;
for(i=0;i<m;i++)
{x=ar[i][0];
for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
【12】 =x;
}
}
[填空题]以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,请填空。
void fun(int, int, int(*)[4], int*);
main( )
int a[3][4]=12, 41, 36, 28, 19, 33, 15, 27, 3, 27, 19, 1, b[3], i;
fun(3, 4, a, b);
for(1=0; i<3; i++)printf("% 4d", b[i]);
printf("/n");
void fun(int m, int n, int ar[][4], int * bar)
int i, j, x;
for(i=0; i<m; i++)
x=ar[i][0];
for(j=0; j<n; j++)if(x<ar[i][j])x=ar[i][j];
______=x;
[简答题]m个人的成绩存放在score数组中,请编写函数fun( ),它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
例如,当score数组中的数据为10,20,30,40,50,60, 70,80,90时,函数返回的人数应该是4,below中的数据应为10,20,30,40。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <string.h>
int fun(int score[],int m, int below[])
{
}
main( )
{
iht i, n, below[9];
int score[9]={10,20,30,40,50,60,70,
80,90};
clrscr( );
n=fun(score, 9, below);
printf("/nBelow the average score are: ");
for(i=0;i<n;i++)
printf("%d",below[i]);
}
[填空题]
设函数findbig( )已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。
main( )
{ int findbig(int,int,int);
int (*f)( ),x,y,z,big;
f= 【17】 ;
scanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,z);
printf("big=%d/n",big);
}
[填空题]【说明2.1】
以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。
【函数2.1】
void fun1 (int a[])
{ int i,j,k,r,x,m;
for(i=2;i<=n;i++)
{ (1) ;
k=1;r=i-1;
while(k<=r)
{ m=(k+r)/2;
if(x<a[m])r=m-1;
else (2) ;
}
for(j=i-1;j>=k;j--)
a[j+l]=a[j];
(3) ;
}
}
【说明2.2】
以下程序可以把从键盘上输入的十进制数(long型)以二~十六进制形式输出。
【程序2.2】
#include<stdio.h>
main( )
{ charb[16]={’0’,’l’,’2’,’3 ,4,’5’,’6’,’7’,’8’,’9’,’A’,’B’,’C’,’D’,’E’,’F’};
int c[64],d,i=0,base;
long n;
printf("enter a number:/n");
scanf("%1d",&n);
printf("enter new basc:/n");
scanf("%d", &base);
do
{ c[i]= (4) ;
i++; n=n/base;
} while(n!=0);
printf("transmite new base:/n");
for(--i;i>=0;--i)
{ d=c[i];
printf("%c", (5) );
}
}
[填空题]以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。
#include
void fun( int s[], int *n, int k, int x)
{ int i;
for(i=*n-1; i>=k; i- -) s[ 【14】 ]=s[i];
s[k]=x;
*n=*n+ 【15】 ;
}
main( )
{ int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;
fun(a, &n, k,x);
for(i=0;i