} main() { int i, n; scanf(\; for( i=1; i<=n; i++ ) { ② ; ③ ; printf(\; } }
【3.32】下面的函数实现N层嵌套平方根的计算。
double y(double x, int n) { if( n==0 )
return(0);
else return ( sqrt(x+( ① )) ); }
【3.33】函数revstr(s)将字符串s置逆,如输入的实参s为字符串\, 则返回时 s 为字符串\。递归程序如下: revstr( char *s ) { char *p=s, c; while(*p) p++; ① ; if(s
} }
如下是由非递归实现的revstr(s)函数: revstr (s) char *s; { char *p=s, c; while( *p ) p++; ④ ; while( s
【3.34】下面函数用递归调用的方法,将str中存放的长度为n的字符串反转过来,例如原来是\,反序为\。
void invent(char *str,int n) { char t;
t=*str; *str=*(str+n-1); *(str+n-1)=t; if( n>2 ) invent ( ① ,n-2); else ② ; }
【3.35】从键盘上输入10个整数,程序按降序完成从大到小的排序。 #include
return;
max=p; for( s=p+1; s<=q; s++) if( *s > *max ) ② ; swap( ③ ); sort( ④ ); }
swap( int *x, int *y ) { int temp; temp=*x; *x=*y; *y=temp; } main()
{ int i; printf(\; for( i=0;scanf(\; sort( ⑤ ); printf(\; for( i=0; i<10; i++)
i<10; i++)