求手机网站,wordpress 提权,wordpress免费主题,营销型网站的标准第51套#xff1a;
给定程序中#xff0c;函数fun的功能是#xff1a;计算出形参s所指字符串中包含的单词个数, 作为函数值返回。为便于统计#xff0c;规定各单词之间用空格隔开。 例如#xff0c;形参s所指的字符串为#xff1a;This is a C language program.#x…第51套
给定程序中函数fun的功能是计算出形参s所指字符串中包含的单词个数, 作为函数值返回。为便于统计规定各单词之间用空格隔开。 例如形参s所指的字符串为This is a C language program.函数 的返回值为6。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
int fun(char *s)
{ int n0, flag0;
while(*s!\0)
{ if(*s! flag0) {
__1__ ; flag1;}
if (*s ) flag __2__ ;
__3__ ;
}
return n;
}
main()
{ char str[81]; int n;
printf(\nEnter a line text:\n); gets(str);
nfun(str);
printf(\nThere are %d words in this text.\n\n,n);
} 解题思路 本题是统计字符串中包含的单词个数。 第一处单词个数用变量n来统计当当前字母不是空格且flag状态标志为0时则单词数就加1将状态标志flag置为1所以应填n。 第二处当当前字符是空格时flag状态标志置0所以应填0。 第三处到字符串下一个位置所以应填s。 给定程序MODI1.C中函数 fun 的功能是从n(形参)个学生的成绩中统计出低于平均分的学生人数此人数由函数值返回,平均分存放在形参aver所指的存储单元中。 例如若输入 8 名学生的成绩80.5 60 72 90.5 98 51.5 88 64 则低于平均分的学生人数为 4 平均分为75.5625 。 请改正程序中的错误使它能统计出正确的结果。 注意不要改动 main 函数不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#define N 20
int fun ( float *s, int n, float *aver )
{ float ave, t 0.0 ;
int count 0, k, i ;
for ( k 0 ; k n ; k ) t s[k] ;
ave t / n ;
for ( i 0 ; i n ; i )
if ( s[ i ] ave ) count ;
*aver Ave ;
return count ;
}
main()
{ float s[30], aver ;
int m, i ;
printf ( \nPlease enter m: ) ; scanf (%d, m ) ;
printf ( \nPlease enter %d mark :\n , m ) ;
for( i 0 ; i m ; i ) scanf ( %f, s i ) ;
printf( \nThe number of students : %d \n , fun ( s, m, aver ) );
printf( Ave %f\n, aver ) ;
} 解题思路 第一处应求累加和而不赋值所以应改为ts[k];。 第二处ave不需要取地址直接赋给*aver就可以了。 请编写函数fun其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如, 输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为: 6, 980 注意: 部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。 给定源程序
#include stdio.h
int fun(int *s, int t, int *k)
{
}
main( )
{
int a[10]{876,675,896,101,301,401,980,431,451,777}, k ;
fun(a, 10, k) ;
printf(%d, %d\n, k, a[k]) ;
NONO( ) ;
} 解题思路 本题是考察考生如何在指定的数组找出最大元素值的下标通过形参k返回到主程序中。给出的程序是使用for循环语句进行处理的在循环之前首先把数组的第一个元素值赋给最大值变量max位置pos为0然后通过循环依次判断下一元素值是否大于最大值max如果大于那么把这个数重新赋给max位置i赋给pos循环结果即可得到最大值的位置pos最后执行语句kpos就可以实现返回了。 参考答案
int fun(int *s, int t, int *k)
{
int i, pos 0, max *s ;
for(i 1 ; i t ; i) {
if(max *(s i)) {
max *(s i) ;
pos i ;
}
}
*k pos ;
}