知名企业门户网站建设服务公司,绍兴网站建设模板网站,以下工具属于网站设计工具的是,东莞微网站建设费用第21套#xff1a;
给定程序中#xff0c;函数fun的功能是#xff1a;计算形参x所指数组中N个数的平均值#xff08;规定所有数均为正数#xff09;,将所指数组中大于平均值的数据移至数组的前部#xff0c;小于等于平 均值的数据移至x所指数组的后部#xff0c;平均值…第21套
给定程序中函数fun的功能是计算形参x所指数组中N个数的平均值规定所有数均为正数,将所指数组中大于平均值的数据移至数组的前部小于等于平 均值的数据移至x所指数组的后部平均值作为函数值返回在主函数中输出平均值和移动后的数据。 例如有10个正数46 30 32 40 6 17 45 15 48 26平均值为 30.500000 移动后的输出为46 32 40 45 48 30 6 17 15 26 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构
给定源程序
#include stdlib.h
#include stdio.h
#define N 10
double fun(double *x)
{ int i, j; double s, av, y[N];
s0;
for(i0; iN; i) ssx[i];
av__1__;
for(ij0; iN; i)
if( x[i]av ){
y[__2__]x[i]; x[i]-1;}
for(i0; iN; i)
if( x[i]! __3__) y[j]x[i];
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个数的平均值所以应填s/N。 第二处利用for循环语句把数组x中大于平均值的数依次存放到数组y中同时把数组x上的该数置为-1其中位置由变量j来控制所以应填j。 第三处再利用循环把不是-1的数依次仍存放到数组y中所以应填-1。 给定程序MODI1.C的功能是读入一个英文文本行将其中每个单词的第一个字母改成大写然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
例如若输入I am a student to take the examination., 则应输出I Am A Student To Take The Examination.。 请改正程序中的错误使程序能得出正确的结果。 注意不要改动 main 函数不得增行或删行也不得更改程序的结构
给定源程序
#include ctype.h
#include string.h
include stdio.h
upfst ( char p )
{ int k0;
for ( ; *p; p )
if ( k )
{ if ( *p ) k 0; }
else if ( *p ! )
{ k 1; *p toupper( *p ); }
}
main( )
{ char chrstr[81];
printf( \nPlease enter an English text line: ); gets( chrstr );
printf( \n\nBefore changing:\n %s, chrstr );
upfst( chrstr );
printf( \nAfter changing:\n %s\n, chrstr );
} 解题思路
第一处包含头文件的标识错误在include前漏写了#。 第二处由于传入的参数是字符串所以应为upfst(char *p)。 程序定义了N×N的二维数组并在主函数中赋值。请编写函数fun,函数的功能是求出数组周边元素的平均值并作为函数值返给主函数中的s。 例如a 数组中的值为 |0 1 2 7 9| |1 9 7 4 5| a |2 3 8 3 1| |4 5 6 8 2| |5 9 1 4 1| 则返回主程序后s的值应为: 3.375。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。
给定源程序
#include stdio.h
#include stdlib.h
#define N 5
double fun ( int w[][N] )
{
}
main ( )
{ int a[N][N]{0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i, j;
double s ;
printf(***** The array *****\n);
for ( i 0; iN; i )
{ for ( j 0; jN; j )
{ printf( %4d, a[i][j] ); }
printf(\n);
}
s fun ( a );
printf (***** THE RESULT *****\n);
printf( The sum is : %lf\n,s );
NONO( );
} 解题思路 本题是统计二维数组周边元素值的平均值但要注意的是不要重复计算四个角上的元素值。 参考答案
double fun ( int w[][N] )
{
int i, j, n0;
double sum0;
for ( i 0; iN; i ) {
sumw[0][i]w[N-1][i]; n2;
}
for ( i 1; iN - 1; i ) {
sum w[i][0]w[i][N-1];
n2;
}
return sum/n;
}