void fun(int x, int pp[], int *n) {
int i, j = 0;
for (i=1; i<=x; i+=2) if ((x%i) == 0)
pp[j++] = ___1___; *n = ___2___; }
main() {
int x, aa[1000], n, i;
printf(\ scanf(\ fun(x, ___3___); for (i=0; i
printf(\ printf(\}
第1处填空:i 第2处填空:j
第3处填空:aa,&n
改错题
N个有序整数数列已放在一维数组中,给定下列程序中,函数FUN的功能是:利用拆半查找算法查找整数M在数组中的位置。若找到,则返回其下标值:反之,则返回-1。
拆半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low
请改正程序中的错误,使它能得出正确结果。
注意:不要改动MAIN函数,不得增行或删行,也不要更改程序的结构! 试题程序:#include
/********found********/ void fun(int a[], int m) {
int low = 0, high = N-1, mid; while (low <= high) {
mid = (low+high)/2; if (m < a[mid]) high = mid-1;
/********found********/ else
if (m >= a[mid]) low = mid+1; else
return(mid); }
return (-1); }
main() {
int i, a[N] = {-3, 4, 7, 9, 13, 45, 67, 89, 100, 180}, k, m; printf(\
for (i=0; i
printf(\ printf(\ scanf(\ k = fun(a, m); if (k >= 0)
printf(\ else
printf(\}
第1处:void fun(int a[],int m)应改为int fun(int a[],int m) 第2处:if (m>=a[mid])应改为if(m>a[mid])
编程题
编写函数int fun(int lim,int aa[MAX]),该函数的功能的求出小于或等于lim的所有素数,并放在aa数组中,该函数返回所求出的素数的个数 注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:
#include
int fun( int