填空题
下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]...中,把偶数从数组中删除,奇数个数通过函数值返回。 例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后a所指数组中的数据为:9,1,3,5,7,返回值为5。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #defineN 9 int fun(int a[],int n) int i,j; j=0; for(i=0;i<n;i++) /*************found************/ if(a[i]%2==______) /**************found************/ a[j]=a[i];______; /***********found************/ return______; main() int b[N]=9,1,4,2,3,6,5,8,7,i,n; printf("\nThe original data:\n"); for(i=0;i<N;i++) printf("%4d",b[i]); printf("\n"); n=fun(b,N); printf("\nThe number of odd:%d\n",n); printf("\nThe odd number:\n"); for(i=0;i<n;i++) printf("%4d",b[i]); printf("\n");
【参考答案】
1 j++ j
点击查看答案&解析
热门
试题
问答题
下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> intfun(int a,int b) int r,t; if(a<b) **********found*********** t=a;b=a;a=t; r=a%b; while(r!=0) a=b;b=r;r=a%b; *************found********** return(a); void main() int num1,num2,a; printf( Input num1 num2: ); scanf( %d%d ,&num1,&num2); printf( num1=%d num2=%&n n ,num1,num2); a=fun(num1,num2); printf( The maximun common divisor is%d n n ,a);
点击查看答案&解析