问题
填空题
[函数2.1说明] 求任意两个正整数的最大公约数的欧几里德算法。用辗转相除法求正整数m和n的最大公约数,并返回该公约数。[函数2.1] void func1(int m, int n) {r=m% n;while(r<>0) { (1) ; n=r; (2) ; }return n; }[函数2.2说明] 判断101~200之间有多少个素数,并输出所有素数。用一个数分别去除2到sqrt (这个数),如果能被整除,则表明此数不是素数,反之是素数。[函数2.2]void func2 ( ) { int m, i, k, h=0,leap=1; printf ( "\n" ); for ( m=101;m<=200;m++ ) { (3) ; for (i=2;i<=k; i++ ) if( (4) ) {leap=0;break;} if ( leap ) {printf ( "%-4d",m ); (5) ; if ( h%10==0 ) printf ( "\n" );} leap=1; }printf ( "\n The total is %d", h );}
答案
参考答案:(1)m=n (2)r=m%n (3)k=sqrt(m+1) (4)m%i=0 (5)h++