gpt4 book ai didi

c - 如何用c语言编写递归程序?

转载 作者:行者123 更新时间:2023-11-30 21:39:12 25 4
gpt4 key购买 nike

我想编写一个 C 程序来读取任意五个 int 输入,例如 A B C D E

和输出

A-B, A-C, A-D, A-E

B-C, B-D, B-E

C-D, C-E

D-E

- 用于执行减号运算符,使用尽可能短的代码。

所以我不想进行 for 循环迭代。

int i,j,a[5]={'\0'};
scanf("%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4]);

for(int i=0;i<4;i++)
for(int j=i+1;j<5;j++)
printf("%d\n",a[i]-a[j]);

最佳答案

尝试这个逻辑:

#include <stdio.h>

int func(int *a, int i, int j)
{
if (j == 4)
return 0;
int tmp = 0;
while(j != i)
{
int tmp2 = 0;
tmp2 = a[j]-a[tmp+j+1];
printf("%d\n", tmp2);
i--;
tmp++;
}
printf("\n");
func(a, 4, j+1);
}

int main()
{
int arr[5]={'\0'};
int i;
int j = 0;
for(i=0; i<5;i++)
{
scanf("%d",&arr[i]);
}

func(arr, i-1, j);
}

我试图避免使用循环,相同的程序是使用递归完成的。

下面还列出了程序的输出,

Input: Enter 5 number 1 2 3 4 5

Output : -1 -2 -3 -4 -1 -2 -3 -1 -2 -1

关于c - 如何用c语言编写递归程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38114521/

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