淡定的羊430 2022-11-19 10:18 采纳率: 80%
浏览 2
已结题

请问这个要怎么改?🙏🏻

编写程序main调用函数fact求解从m个元素选n个元素的组合数的个数。计算公式是:组合数ss=m!/(n!*(m-n)!)。

要求1:m不能小于或者等于n,否则应有容错处理。

要求2:函数fact(x)的功能是使用递归求x!。

img

  • 写回答

1条回答 默认 最新

  • 码上就疯 2022-11-19 10:36
    关注
    
    #include <stdio.h>
    int fact(int x) {
       if (x==1) {
           return 1;
       }else {
           return x*fact(x-1);
       }
    }
    int main() {
        int ss, m , n ;
        printf("请输入两个整数m,n(m>n),用空格隔开,输入完毕后回车结束\n");
        scanf("%d%d",&m,&n);
        if (m<n) {
         printf("输入错误 error");
         return 0;
        }
        ss = fact(m) / (fact(n) * fact(m - n));
        printf("组合数为 %d", ss);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月20日
  • 已采纳回答 11月20日
  • 创建了问题 11月19日

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题