AIML 发表于 2020-12-3 09:28:18

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;
}

吃点饭饭 发表于 2020-12-3 09:36:54

printf("您输入的数字是%d,%d,下面开始运算:\n");
//应该是
printf("您输入的数字是%d,%d,下面开始运算:\n”,n,k);//格式化输出需要参数列表

吃点饭饭 发表于 2020-12-3 09:37:59

吃点饭饭 发表于 2020-12-3 09:36


题目是要求用递归,要调用函数的

sunrise085 发表于 2020-12-3 10:14:40

本帖最后由 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;
}

AIML 发表于 2020-12-3 14:13:28

sunrise085 发表于 2020-12-3 10:14


谢谢您
页: [1]
查看完整版本: C语言问题,没有思路,烦请大佬进来看帖