中介网站怎么做,做网站公司融资多少钱,最新网站发布,wordpress 博主认证第20套#xff1a;
给定程序中#xff0c;函数fun的功能是#xff1a;计算形参x所指数组中N个数的平均值#xff08;规定所有数均为正数#xff09;,将所指数组中小于平均值的数据移至数组的前部#xff0c;大于等于平均值的数据移至x所指数组的后部#xff0c;平均值作…第20套
给定程序中函数fun的功能是计算形参x所指数组中N个数的平均值规定所有数均为正数,将所指数组中小于平均值的数据移至数组的前部大于等于平均值的数据移至x所指数组的后部平均值作为函数值返回在主函数中输出平均值和移动后的数据。
例如有10个正数46 30 32 40 6 17 45 15 48 26平均值为 30.500000 移动后的输出为30 6 17 15 26 46 32 40 45 48。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构
给定源程序
#include stdlib.h
#include stdio.h
#define N 10
double fun(double *x)
{ int i, j; double av, y[N];
av0;
for(i0; iN; i) av __1__;
for(ij0; iN; i)
if( x[i]av )
{
y[j]x[i]; x[i]-1; __2__;}
i0;
while(iN)
{ if( x[i]! -1 ) y[j]x[i];
__3__;
}
for(i0; iN; i)x[i] y[i];
return av;
}
main()
{ int i; double x[N];
for(i0; iN; i){ x[i]rand()%50; printf(%4.0f ,x[i]);}
printf(\n);
printf(\nThe average is: %f\n,fun(x));
printf(\nThe result :\n,fun(x));
for(i0; iN; i) printf(%5.0f ,x[i]);
printf(\n);
} 解题思路 第一处求出N个数的平均值所以应填N。 第二处利用for循环语句把数组x中小于平均值的数依次存放到数组y中其中位置由变量j来控制所以应填j。 第三处i是while循环体的控制变量每做一次循环均要加1。 给定程序MODI1.C中函数 fun 的功能是统计字符串中各元音字母即A、E、I、O、U的个数。注意字母不分大、小写。 例如若输入THIs is a boot则输出应该是1、0、2、2、0。 请改正程序中的错误使它能得出正确的结果。 注意不要改动 main 函数不得增行或删行也不得更改程序的结构
给定源程序
#include stdio.h
fun ( char *s, int num[5] )
{ int k, i5;
for ( k 0; ki; k )
num[i]0;
for (; *s; s)
{ i -1;
switch ( s )
{ case a: case A: {i0; break;}
case e: case E: {i1; break;}
case i: case I: {i2; break;}
case o: case O: {i3; break;}
case u: case U: {i4; break;}
}
if (i 0)
num[i];
}
}
main( )
{ char s1[81]; int num1[5], i;
printf( \nPlease enter a string: ); gets( s1 );
fun ( s1, num1 );
for ( i0; i 5; i ) printf (%d ,num1[i]); printf (\n);
} 解题思路 第一处num初始化错误应为num[k]0;。 第二处由于s是指针型变量所以应改为switch(*s)。 请编写函数 fun函数的功能是求出二维数组周边元素之和作为函数值返回。二维数组中的值在主函数中赋予。 例如二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为 61。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。
给定源程序
#include stdio.h
#define M 4
#define N 5
int fun ( int a[M][N] )
{
}
main( )
{ int aa[M][N]{{1,3,5,7,9},
{2,9,9,9,4},
{6,9,9,9,8},
{1,3,5,7,0}};
int i, j, y;
clrscr();
printf ( The original data is : \n );
for ( i0; iM; i )
{ for ( j 0; jN; j ) printf( %6d, aa[i][j] );
printf (\n);
}
y fun ( aa );
printf( \nThe sum: %d\n , y );
printf(\n);
NONO( );
} 解题思路 本题是统计二维数组周边元素值之和但要注意的是不要重复计算四个角上的元素值结果作为函数值返回。
参考答案
int fun ( int a[M][N] )
{
int tot 0, i, j ;
for(i 0 ; i N ; i) {
tot a[0][i] ;
tot a[M-1][i] ;
}
for(i 1 ; i M - 1 ; i) {
tot a[i][0] ;
tot a[i][N-1] ;
}
return tot ;
}