Supercatcher 2022-11-26 14:24 采纳率: 33.3%
浏览 9

C语言定义函数解决组合算法问题

问题遇到的现象和发生背景

任务描述
本关任务:编写一个用函数实现组合数的计算程序。

编程要求
组合数公式为:C(m,k)=m!/(k!(m-k)!),请实现求阶乘函数Factorial()和求组合数的函数Combination(),然后从main函数输入m,k,输出组合数。
假定输入的m和k符合条件,不需要特别处理。

用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
int Factorial(int c);
int Combination(int a,int b);
int main()
{
    int m,k,p;

    printf("Input m,k(10>=m>=k>0):\n");
    scanf("%d,%d",&m,&k);//假定输入数据已经满足上述条件
    /************Begin************/
    p=Combination(m,k);
    printf("p=%d",p);
    /************End************/
    return 0;
}
//定义组合数函数
int Combination(int a,int b)
{
    int result;
    result=Factorial(a)/(Factorial(b)*Factorial(a-b));
    return result;
}
    int Factorial(int c)
{
    int i;
    for(i=1;i<=c;i++){
        i=1*i;
    }
    return i;
}

运行结果及报错内容

头歌实训输入输出结果:
数据一:8 1 预期结果:8 实际结果:0
数据二:8 2 预期结果:28 实际结果:0

电脑上Dev-C++输入输出结果:
输入任意数 输出结果:1

我的解答思路和尝试过的方法

我对程序运行顺序的理解:

img

我想要达到的结果

希望能找出是顺序问题还是编程问题

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-26 16:09
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 11月26日

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号