递归求最大公约数
#include <stdio.h>
int gcd(int m,int n);
int main()
{
int m,n,result;
printf("请输入两个整数:");
scanf("%d%d",&m,&n);
printf("%d %d\n",m,n);
gcd(m,n);
result=gcd(m,n);
printf("最大公约数:%d\n",result);
return 0;
}
int gcd(int m,int n)
{
if(m>n)
{
gcd(m-n,n);
}
if(m<n)
{
gcd(m,n-m);
}
else
{
return m;
}
}
递归颠倒字符串
#include <stdio.h>
int RecStr(char s[],int i);
int main()
{
char s[]="hello world";
printf("颠倒前:%s\n",s);
RecStr(s,0);
printf("颠倒后:%s\n",s);
return 0;
}
int RecStr(char s[],int i)
{
int k;
char ch=s[i];
if(ch=='\0')//最后一项的位置 返回k的值赋值给数组下标
{
return 0;
}
else
{
k=RecStr(s,i+1);
s[k]=ch;
return k+1;
}
}