C Language Logo
C语言二级在线二级在线
首页选择题程序题成为会员帮助其他科目

阶乘之差

请修改编辑器中的代码,完成以下功能:计算组合数 C(m, n),其中 C(m, n) 表示从 m 个元素中选取 n 个元素的组合数。程序需要从文件中读取 10 组整数 m 和 n,计算每组的组合数,并将结果输出到文件中。本题给定数据满足0≤n≤m≤20。 输入格式:输入文件的每行包含两个整数 m 和 n,用逗号分隔,表示需要计算的组合数的参数。 输出格式:输出文件的每行包含一个浮点数,表示对应的组合数。 输入示例: 12,8 5,2 ... 输出示例: 495.000000 10.000000 ... 请确保文件路径正确,并在计算组合数时使用阶乘公式。程序不需要键盘输入;主函数会在控制台打印一次测试结果“P=495.000000”,其余10组组合数写入out.txt文件。

#include <stdio.h>
double fun(int m, int n)
{



}

int main(void)   /* 主函数 */
{  void NONO ();
   printf("P=%f\n", fun (12,8));
   NONO();
   }

void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *fp, *wf ;
  int i, m, n ;
  double s;

  fp = fopen("in.txt","r") ;
  wf = fopen("out.txt","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(fp, "%d,%d", &m, &n) ;
    s = fun(m, n) ;
    fprintf(wf, "%f\n", s) ;
  }
  fclose(fp) ;
  fclose(wf) ;
}

控制台

调试终端

准备就绪