永发信息网

C++编程题目~~~

答案:1  悬赏:10  手机版
解决时间 2021-04-25 02:21

1、编写一个函数,求数列运算中从n个不同的数中取r个数的所有选择的个数,要求如下:

主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0 0时,程序结束;

能检查输入数据的合法性,要求n>=1并且n>=r;

能得到正确结果。

输入:5 3输出:10

输入:10 20;输出:Input Invalid !;

输入:-1 4;输出:Input Invalid!;

步骤:

利用一个函数fn(int n)计算n!,

利用另一个函数Cnr(int n, int r)计算Cnr,在该函数中调用fn(),

2、内联函数的使用:定义一个TestInline类,该类拥有两个私有整型变量i,j,为该类添加3个内联函数 int add()返回两数之和,int dec()返回两数之差,int GetNum()返回私有变量j的值。要求如下:

1、add、dec的函数体定义在类的内部

3、GetNum的函数体定义在类的外部

最佳答案

1.程序:
#include<iostream>
using namespace std;


int fn(int n)
{
if(n==0)return 1;
else return n*fn(n-1);
}


int Cnr(int n, int r)
{
int mul=1,i;
if(n<1||n<r)
{ cout<<"Input Invalid !"<<endl;return 0;}
for(i=0;i<r;i++)
mul*=(n-i);
return mul/fn(r);
}

int main()
{
int m,n;
cout<<"input two integers:";
cin>>m>>n;
cout<<Cnr(m,n);
return 0;
}


结果:



2.程序:


#include<iostream>
using namespace std;


class TestInline
{
private:
int i;
int j;
public:
TestInline(int a=0,int b=0):i(a),j(b){}
int add(){return i+j;}
int dec(){return i-j;}
inline int GetNum();
};
inline int TestInline::GetNum()
{
return j;
}


int main()
{
TestInline test(1,3);
cout<<"add="<<test.add()<<endl;
cout<<"dec="<<test.dec()<<endl;
cout<<"j="<<test.GetNum()<<endl;
return 0;
}

结果:


说明:add和dec因为在类内定义所以可以省略inline关键字。


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
久光百货大连店北门地址在什么地方,想过去办
游戏人生的图标谁有,帮忙点亮。。。多谢
为什么人要是白天想事情想多了,晚上会失眠呢
蝴蝶
网上能找到知音吗?
CPU上的散热器哪个静音效果好?
为什么在中,俊秀。有天要和SM公司打官司?
谁能把王者武敌这个Qq名改动一下让它好看美观
dnf格斗转什么好???
我们想离婚,可是儿子怎么办?
欧阳峰和欧阳克是什么关系?
为什么隐身了但是在QQ群里显示的在线
我的脚容易出脚汗,穿好的运动鞋会好一点不是
六年级时她对我说520可是爱上的是别人,是不
常德市现在是文明城市吗?
推荐资讯
汽车 拉花
中国农业银行通河镇郊支行这个地址在什么地方
深圳有什么好酒吧
按照目前全省350家竞彩店计算,平均每家竞彩
爱一个人很深的诗句,形容一个人很沧桑的句子
惠普dv3-2121tx声卡问题
电脑上的猫为什么很难连接上?
我是一名年轻电力检修监理工程师,在工作中怎
阿凡达经典台词翻译,白毛女 喜儿和杨白老对唱
黎城县交通运输局在什么地方啊,我要过去处理
孕37周,这几天感觉尿频,是怎么回事啊?
幸福?怎麽才算幸福?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?