这是一个计算二项式系数的程序。不,当我输入大于 n 的 k 值时,程序会崩溃。但是我想知道当我输入 k > n 程序时我该怎么做才能让我重新输入正确的新值(n > k)。当我输入正确的值 (n>k) 时程序停止。
#include<stdio.h>
#include <iostream>
using namespace std;
int binomialCoeff(int n, int k)
{
// Base Cases
if (k==0 || k==n)
return 1;
else
return binomialCoeff(n-1, k-1) + binomialCoeff(n-1, k);
}
int main()
{
int n,k;
cin >>n;
cin>>k;
printf("Value of C(%d, %d) is %d ", n, k, binomialCoeff(n, k));
return 0;
}
也许用做while循环?像这样的东西:
do {
cin >>n;
cin>>k;
}while(n>k);
但是这个循环不起作用。