int m = sizeof(x)/sizeof(int); int y[] = { 4, 5, 8, 13, 22}; int n = sizeof(y)/sizeof(int);
int i, min_distance(int [], int [], int, int);
printf(\ printf(\ printf(\ for (i = 0; i < m; i++) printf(\ printf(\ for (i = 0; i < n; i++) printf(\
printf(\} 答案:
1). x
2). x[index_x] >= y[index_y] 或 y[index_y]<=x[index_x] 3). index_x++ 或 index_x=index_x+1 或 ++index_x
第42题 (30.0分) 题号:478
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:如果整数A的全部因子(包括1,不包括A本身)之和等 于B;且整数B的全部因子 ( 包括1,不包括B本身 ) 之和等于A,则将整数A和B称为亲密数。求 3000 以内 的全部亲密数。
-------------------------------------------------------*/
#include
int a, i, b, n ;
printf(\ for(a=1 ; a<3000 ; a++) {
for(b=0,i=1 ; i<=a/2 ; i++ ) /***********SPACE***********/ if(!(a%i)) 【?】 ; for(n=0,i=1 ; i<=b/2 ; i++)
/***********SPACE***********/ if(!(b%i)) 【?】 ; /***********SPACE***********/
if(【?】 && a
1). b+=i 或 b=b+i 2). n+=i 或 n=n+i 3). n == a
第43题 (30.0分) 题号:626
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:下面程序是计算 sum=1+(1+1/2)+(1+1/2+1/3)+... (1+1/2+...1/n)的值。 例如:当n=3,sum=4.3333333
-------------------------------------------------------*/
double f(int n) { int i; double s; s=0;
for(i=1;i<=n;i++)
/***********SPACE***********/ 【?】; return s; } main() {
int i,m=3; float sum=0; for(i=1;i<=m;i++)
/***********SPACE***********/ 【?】;
/***********SPACE***********/ printf(\【?】\\n\}
答案:
1). s+=1.0/i 或 s+=1/i 或 s= s + 1.0/i 或 s= s + 1/i 2). sum+=f(i) 或 sum= sum + f(i) 3). %f
第44题 (30.0分) 题号:648
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
题目:将从键盘输入的N个整数储存在一个数组中,然后将数组中 的数按从小到大的顺序进行排列。
--------------------------------------------------------- 注意:除要求填空的位置之外,请勿改动程序中的其他内容。 且不能使用C语言的库函数进行填空。
-------------------------------------------------------*/
#include \#define N 5
/*以插入排序的方法将数组a[]中的数据排序,当参数order为0时, 将数据从小到大排列;当参数order为1时,将数据从大到小排列。*/ void insert_sort(int a[],int n,int order) {
int i,j,t; for(i=1;i /***************SPACE***************/ if(【?】&& order==0) { t=a[i]; j=0; for(j=i-1;j>=0 && t if(a[i]>a[i-1] && order==1) { t=a[i]; j=0; for(j=i-1;j>=0 && t void main( ){ int i,num[N]; for( i=0;i printf(\ scanf(\ } /***************SPACE***************/ insert_sort(【?】); printf(\ for( i=0;i printf(\ printf(\ } 答案: 1). a[i]a[i] 2). num,N,0 或 num,5,0 第45题 (30.0分) 题号:485 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 统计子字符串substr在字符串str中出现的次数。 例如:若字符串为\,子字符串为\,则应输出2。 若字符串为\,子字符串为\,则应输出3 -------------------------------------------------------*/ #include fun (char *substr,char *str) { int i,j,k,num=0; for(i=0; str[i]; i++) for(j=i,k=0;substr[k]==str[j];k++,j++) /***********SPACE***********/ if(substr[【?】]=='\\0') { num++; /***********SPACE***********/ 【?】; } return num; } main() { char str[80],substr[80]; printf(\ gets(str); printf(\ gets(substr); /***********SPACE***********/ printf(\【?】); } 答案: 1). k + 1 2). break 3). fun(substr,str) 第46题 (30.0分) 题号:483 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:对数组 A 中的N( 0 <N<100)个整数从小到大进行连续编 号,输出各个元素的编号。要求不能改变数组A中元素的 顺序,且相同的整数要具有相同的编号。 例如:数组是: A=(5,3,4,7,3,5,6) 则输出为:(3,1,2,5,1,3,4) -------------------------------------------------------*/ main() {