数
点后的小数去除,最后把这个数转换成浮点型数除以100,即可得出所的结果。 参考答案:
float fun ( float h ) {
long w ;
w = h * 100 + 0.5 ; return (float) w / 100 ; }
※ ※※※※※※※※※※※※※※※※※※※※※※※※
第七十套
解题思路:
第一处:计算平均值时,需对变量av进行初始化为0。 第二处:利用for循环计算其平均值,所以应填:x[i]/N。 第三处:把数组x中元素值大于平均值的数依次存放到形参y所指的数组中其中位置由变量j
来控制,所以应填:j++。
解题思路: 第一处:由于计算的实型值要通过函数返回,所以必须定义函数的返回类型,只要int或void 可以省略,其他都要定义类型。由于返回是实型值,所以应在数名前加上double等定义。如果
使用float则精度不够,所以在这里不能使用float定义。
第二处:在for循环中,两个“;”不可省略,在此把“;”错写成“,”。 解题思路:
本题考察学生在一组记录中找出最低分。我们使用for循环语句来解决这个问题。 参考答案:
fun( STU a[], STU *s ) {
int i, min = a[0].s, j = 0; for(i = 1 ; i < N ; i++)
if(min > a[i].s) { /* 如果最低分min仍大于当前分 */ j = i ; /* 记住位置 */
min = a[i].s ; /* 把当前分赋值给min */ }
*s = a[j] ; }
※ ※※※※※※※※※※※※※※※※※※※※※※※※
第七十一套
解题思路:
第一处:函数中申请了两个内存空间,其p是存放数字字符串,t是存放非数字字符串,根 据条件可知,p依次存放数字字符串,其位置由j来控制,所以应填:j。
第二处:利用for循环再把t中的内容依次追加到p中,其中t的长度为k,所以应填:k。 第三处:最后返回p的首地址即可,所以应填:p。 解题思路:
第一处:应该判断i是否小于j,所以应改为:while(i 解题思路: 本题是从一个字符串按要求生成另一个新的字符串。我们使用for循环语句来解决这个问 题。 参考答案: void fun(char *s, char t[]) { int i, j = 0 ; for(i = 0 ; i < strlen(s) ; i++) if(!((i % 2) ==0 && (s[i] % 2))) t[j++] = s[i] ; t[j] = 0 ; } ※ ※※※※※※※※※※※※※※※※※※※※※※※※ 第七十二套 解题思路: 第一处:根据公式以及下面的程序,可以得出i应为0。 第二处:根据公式以及i的初值为0,所以应填:i++。 第三处:根据公式要求,所以应填:2.0*i。 解题思路: 第一处:从函数体fun中可知,两个均为字符指针型变量,应改为:void fun (char *s, char *t)。 第二处:字符串结束位置错误,应改为:t[2*d]=0;。 解题思路: 本题是从一个字符串按要求生成另一个新的字符串。我们使用for循环语句来解决这个问 题。 参考答案: void fun(char *s, char t[]) { int i, j = 0 ; for(i = 1 ; i < strlen(s) ; i += 2) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ; } ※ ※※※※※※※※※※※※※※※※※※※※※※※※