[说明] 下面的程序利用递归算法计算x和y的最大公约数。[函数2.1]main ( ){ int x,y,k,t; scanf(" % d% d" , &x, &y); if(x>y) { t=x;x=y; y=t;} (1) ; while(k! =0){ y=x; (2) ; k=y%x; } prinff( "% d" ,x); }[函数2.2说明]函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。[函数2.2]fun(ehar * str, char * substr){ int x,y,z; (3) ; for(x=0;str[ x] ! = ’\O’;x + + ) for(y=x,z=0;sabstr[z] = =str[y]; (4) ,y+ +) if( (5) = =’\0’) {num + +;break; } return(num);}