C++实验复习

1.题目描述:30个人在一家小饭馆里用餐,其中有男人、女人和小孩。每个男人花了3,每个女人花了2先令,每个小孩花了1先令,一共花去50先令。问男人、女人以及小孩各有几个人。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。

代码:

#include<iostream>

using namespace std;

int main()

{

    int n;    //n记录解的个数

    int a,b,c;  //分别记录男、女、小孩的人数

    n=__0__;    //初始化n的值

    for(a=1;a<=30;a++)

    {

        for(b=1;b<=30;b++)

        {

            c=__30-a-b_;

            if( __3a+2b+c==50(3)__ )

            {

                cout<<"男人有:"<<a<<"个;"<<"女人有:"<<b<<"个;"<<"小孩有:"<<c<<"个。"<<endl;

                n++;

            }

        }

    }

    cout<<"共有"<<n<<"种方案"<<endl;

    return 0;

此题与ACM大赛中第一题“鸡兔同笼”类似,遍历法,两层循环嵌套。

2.

#include <cmath>不要忘记这个头文件。

3.

if( !a )就是一个判断语句,判断表达式 !a 的真假,进而决定是否执行后续操作。

如果a是一个变量
当a等于0时,!a=1(为真),执行后续操作;
当a不等于0时,!a=0(为假),不执行后续操作;

如果a是一个表达式
将表达式的值计算出来,当成变量来操作,判断过程同上。
4.continue也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句。他只能结束循环中的一次过程,但不能终止循环继续进行。
5.    int number[10]表示名为“number”的数组中有十个元素;而number[9]表示“number”数组中 第 10个元素。

6.辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。 它的具体做法是:用较大数除较小,再用出现的余数(第一余)去除除数,再用出现的余数(第二余)去除第一余,如此反复,直到最后余数是0为止。 如果是两个最大公约数,那么最后的除数就是这两个最大公约数

7.

ASCII码用于大小写转换。

a-z:97-122

A-Z:65-90

大写字母+32=小写字母

8.函数调用表达式:cout<<function(形参);//对于不设参数的函数,function()。但不能只写函数名function。

9.类和对象:

(1)成员函数定义


(2)在建立对象时,构造函数自动调用。

(3)构造函数无返回值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值