C语言问题,没有思路,烦请大佬进来看帖
题目如图,显示的是第二题;然后这是自己写的代码,如图,真的不会了。这是运行结果如图。
想请问以下两个问题。
1:题中迭代问题的具体思路,用什么解决这个算法题,是用循环?还是用别的?
2:我自己写的代码如果有大佬能看懂并且加以指教和改正的话,不胜感激,谢谢!
3:为什么我输出的n和K是那么长的一串地址?
源代码如下:
#include <stdio.h>
int main()
{ int n;
int k;
printf("请输入两个数字,先输入n,再输入k,用逗号隔开,示例:n,k\n");
scanf("%d,%d",&n,&k);
printf("您输入的数字是%d,%d,下面开始运算:\n");
int num=1;
if(n==k||k==0)
{
printf("当n==k或者k==0时,结果为1");
}
return 0;
} printf("您输入的数字是%d,%d,下面开始运算:\n");
//应该是
printf("您输入的数字是%d,%d,下面开始运算:\n”,n,k);//格式化输出需要参数列表 吃点饭饭 发表于 2020-12-3 09:36
题目是要求用递归,要调用函数的 本帖最后由 sunrise085 于 2020-12-3 10:15 编辑
吃点饭饭 发表于 2020-12-3 09:37
题目是要求用递归,要调用函数的
#include <stdio.h>
int C(int k,int n)
{
if(n==k || k==0)
return 1;
return C(k,n-1)+C(k-1,n-1);
}
int main()
{
int n;
int k;
printf("请输入两个数字,先输入k,再输入n,用逗号隔开,示例:k,n\n");
scanf("%d,%d",&k,&n);
printf("您输入的数字是n=%d,k=%d,下面开始运算:\n",n,k);
printf("结果为%d",C(k,n));
return 0;
} sunrise085 发表于 2020-12-3 10:14
谢谢您
页:
[1]