作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编写一个 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/
我是一名优秀的程序员,十分优秀!