int zhengshu(int p)//打印一个整数的每位
{
if (p > 9)
{
zhengshu(p / 10);
}
printf("%d", p % 10);
}
int main()
{
int k = 0;
scanf("%d", &k);
zhengshu(k);
return 0;
}
int my_strlen(char*y)//非递归strlen模型
{
int count = 0;
while (*y != '\0')
{
count++;
y++;
}
return count;
}
int my_strlen(char*y)//递归strlen模型
{
if (*y == '\0')
return 0;
else
return 1 + my_strlen(y+1);
}
int main()
{
char arr[] = "bit";
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}
int main()//非递归求阶乘
{
int i = 0;
scanf("%d", &i);
int k = 0;
int ret = 1;
for (k = 1; k <= i; k++)
{
ret = ret*k;
}
printf("ret=%d\n", ret);
return 0;
}
int jiecheng(int k)//递归求阶乘
{
if (k <= 1)
return 1;
else
{
return k*jiecheng(k - 1);
}
}
int main()
{
int i = 0;
scanf("%d", &i);
int ret=jiecheng(i);
printf("ret=%d", ret);
return 0;
}
int DigitSum(int n)//求一个正整数的各位和
{
if (n > 0)
{
return n % 10 + DigitSum(n / 10);
}
return 0;
}
int main()
{
int i = 0;
int n = 0;
printf("请输入一个整数:\n");
scanf("%d", &n);
i = DigitSum(n);
if (i == 0)
{
printf("您的输入不合法;\n");
}
else
{
printf("%d的和=%d", n, i);
}
return 0;
}
int cifang(int x, int y)//求一个数的n次方
{
if (y == 0)
return 1;
else
{
return x*cifang(x, y - 1);
}
}
int main()
{
int i = 3;
int p = 2;
cifang(i,p);
printf("%d\n",cifang(i,p));
return 0;
}
int fid(int x)//递归求斐波那契数
{
if (x <= 2)
return 1;
else
{
return fid(x - 1) + fid(x - 2);
}
}
int fid(int x)//非递归求斐波那契数
{
int a = 1;
int b = 1;
int c = 1;
while (x > 2)
{
c = a + b;
a = b;
b = c;
x--;
}
return c;
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = fid(n);
printf("%d\n", ret);
return 0;
}
test2
最新推荐文章于 2022-10-06 18:10:41 发布