版本4和5间的区别
于2005-12-24 21:30:34修订的的版本4
大小: 2434
编辑: czk
备注:
于2005-12-24 21:32:50修订的的版本5
大小: 2420
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 39: 行号 39:
 1. 做一个存放整数的Stack栈类,包含如下成员函数:
构造函数Stack(n):n指定栈中可以存放元素的最大个数;
push(i):把元素i添加到栈尾部;
pop():把尾部元素从栈中删除;
top():取栈尾部的元素的值;
size():取栈中间存放的元素个数;
~Stack():析构函数(如果有必要的话);
Stack(Stack & s ):拷贝构造函数(如果有必要)。
 1. 做一个存放整数的Stack栈类,包含如下成员函数:构造函数Stack(n):n指定栈中可以存放元素的最大个数;push(i):把元素i添加到栈尾部;pop():把尾部元素从栈中删除;top():取栈尾部的元素的值;size():取栈中间存放的元素个数;~Stack():析构函数(如果有必要的话);Stack(Stack & s ):拷贝构造函数(如果有必要)。

实验要求

  • 用标准C++完成程序
  • 按照传统C语言风格进行命名和排版
  • 在程序必要的地方进行注释

推荐实验环境

  • VC 2003 ( 集成 Microsoft C++ Compiler 7.1)
  • Dev-C++ ( 集成 MinGW,小巧,免费)
  • Emacs + GCC ( Linux平台下开发工具 )

实验内容

  1. 使用递归的方法编写Fibonacci数列(1 1 2 3 5 8 ……)程序。输入n,输出数列中第n个数的值
  2. 用结构体、函数实现复数操作(复数的加减乘除),使如下的主程序可以正确运行

       1 int main() {
       2     struct complex a, b, sum, diff, product;
       3     scanf("%f%f%f%f", &a.real, &a.imag, &b.real, &b.imag);
       4     sum = add(a, b);
       5     diff = substract(a, b);
       6     product = multiply(a, b);
       7     printf("sum:%f %f\n", sum.real, sum.imag);
       8     printf("diff:%f %f\n", diff.real, diff.imag);
       9     printf("product:%f %f\n", product.real, product.imag);
      10     return 0;
      11 }
    
  3. 使用标准C++输入输出实现在屏幕上用以下格式输出乘法表,要求排列整齐(不考虑屏幕宽度不够时造成的折行)。输入:乘法表的行数(1<=n<=99)输出:如下乘法表,总共n行

    1
    2    4
    3    6    9
    4    8   12   16
    5   10   15   20   25
    6   12   18   24   30   36
    ……
  4. Monty Hall游戏:该游戏来自电视节目Let's Make a Deal. 游戏中设有三扇门,其中一扇门后面是一辆汽车,另外两扇门后面各有一头山羊。玩家首先选择其中一扇门,然后节目主持人将另外两扇门中藏有山的那扇门打开,并给游戏参与者一个改选的机会。此时玩家可以维持原先的选择不变,也可以直接选择另一扇门,或者随机决定如何选择。最后玩家如果选中了那个藏有汽车的门,则获得胜利。请你写一个程序,计算游戏中玩家如何选择概率较高,不同的选择概率各是多少?
  5. 将前面实验中的复数程序用C++类重新实现
  6. 做一个存放整数的Stack栈类,包含如下成员函数:构造函数Stack(n):n指定栈中可以存放元素的最大个数;push(i):把元素i添加到栈尾部;pop():把尾部元素从栈中删除;top():取栈尾部的元素的值;size():取栈中间存放的元素个数;~Stack():析构函数(如果有必要的话);Stack(Stack & s ):拷贝构造函数(如果有必要)。

C++实验 (2020-04-25 09:16:09由czk编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.