gpt4 book ai didi

c - 打印从 N 到 1 然后从 1 到 N 的所有整数的递归函数

转载 作者:行者123 更新时间:2023-12-04 09:31:59 24 4
gpt4 key购买 nike

我只是想问一下,考虑到 N 是由用户给出的,我如何使用步骤 -+2 和递归函数显示从 N 到 1 然后再到 N 的所有整数。例如,如果用户给出 7,那么调用该函数将打印 <<7 5 3 1 3 5 7>> 或者如果参数为 8,它将打印 <<8 6 4 2 4 6 8>> 我只有计算出显示 N 到 1(或 N 到 2)。这是我的代码:

    int main()
{
int a;
printf("Give a:");
scanf("%d", &a);
func(a);
return 0;
}

int func(int n)
{
printf("\t%d",n);
if (n==1 || n==2)
{
return 1;
}
return func(n-2);
}

最佳答案

显然,我必须假设其他人都不是。或者他们只是喜欢钝代码。

void func(int n)
{
if (n > 2)
{
printf("%d ", n);
f(n-2);
}
printf("%d ", n);
}

应该是所有需要的。下面的实例

代码

#include <stdio.h>

void f(int n)
{
if (n > 2)
{
printf("%d ", n);
f(n-2);
}
printf("%d ", n);
}

int main()
{
for (int i=0; i<=10; ++i)
{
f(i);
fputc('\n', stdout);
}
}

输出

0 
1
2
3 1 3
4 2 4
5 3 1 3 5
6 4 2 4 6
7 5 3 1 3 5 7
8 6 4 2 4 6 8
9 7 5 3 1 3 5 7 9
10 8 6 4 2 4 6 8 10

关于c - 打印从 N 到 1 然后从 1 到 N 的所有整数的递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52302083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com