更多"已知a所指的数组中有N个元素。函数fun的功能是:将下标k(1(>0)"的相关试题:
[填空题]请补充函数fun( ),该函数的功能是;交换数组aa中最大和最小两个元素的位置,结果依然保存在原数组中,其它元素位置不变。注意数组aa中没有相同元素。
例如,输入“33,67,42,58,25,76,85,16,41, 56”,则输出“33,67,42,58,25,76,16,85,41,56”。
注意;部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio. h>
#define N 10
void fun(int aa[])
{
int i, j, t;
int max=0, min=0;
for(i=0; i<N; i++)
{
if( 【1】 )
max=i;
if( 【2】 )
min=i;
}
t=aa [max];
【3】 ;
aa [min] =t;
}
main( )
{
int i;
int aa [N] ={33, 67, 42,58,25, 76, 85,16, 41, 56};
clrscr ( );
printf("/n*** original list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i] );
fun (aa);
printf ("/n*** new list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i]);
}
[填空题]在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun( )的功能是计算数组元素中值为负数的平均值(不包括0)。
例如:数组中元素的值依次为43,47,-21,53,-8,12, 0,则程序的运行结果为-25.333333。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
double fun(int x[])
double sum=0.0;
int c=0,i=0;
/*************found*************/
while(x[i]==0)
if(x[i]<0)
sum=sum+x[i];
c++;
i++;
/************found***********/
sum=sum/c;
return sum;
main( )
int x[1000];
int i=0;
clrscr( );
printf("/nPlease enter some data(end with
0) :”);
do
scanf("%d",&x[i]);
while(x[i++]!=0);
printf("%f/n",fun(x));
[填空题]以下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函数的功能是:找出具有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];
}
[填空题]已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为i-1的单元,其中1≤i
[填空题]函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。
#define N 4
void rotate(int a[][N],int b[][N])
int i,j;
for(i=0;i<N;i++)
(b[i][N-1]= (13) ; (14) =a[N-1][i];