• c++简单程序设计-2


    1.验证性实验部分
    ①函数声明和函数定义各自的作用及二者的区别:
    函数声明就是调用函数之前提示一下有这个函数
    函数定义就是写一个函数

    ②什么是形参?什么是实参?函数参数和返回值在函数中起到什么作用?
    函数定义时写的参数叫做形参,这些参数只是给计算机看的,没有分配内存,没有具体的值。函数调用时写的参数叫做实参,这些参数要有意义,即分配了内存,有具体的值

    ③函数参数传递过程中,值传递和引用传递区别
    值传递是只把对象的值传入函数,函数中可以使用这个值,但却无法更改该对象的值
    引用传递是将整个对象本身(或地址)传入函数,在函数中既可调用对象的值,也可改变对象的值
    2.编程实验部分
    2-28(1)
    #include<iostream>
    using namespace std;
    int main() {
        cout << "Menu: A(dd) D(elete) S(ort) Q(uit),Select one:" << endl;
        while (true){
            char c;
            cin >> c;
            if (c == 'A') {
                cout << "数据已经增加。" << endl;
                continue;
            }
            else if (c == 'D') {
                cout << "数据已经删除。" << endl;
                continue;
            }
            else if (c == 'S') {
                cout << "数据已经排序。" << endl;
                continue;
            }
            if (c =='Q')
                break;
            return 0;
        }
    }
    2-28(2)
    #include<iostream>
    using namespace std;
    int main() {
        cout << "Menu: A(dd) D(elete) S(ort) Q(uit),Select one:" << endl;
          while (true){
            char c;
            cin >> c;
            switch (c) {
            case 'A':
                cout << "数据已经增加。" << endl;
                continue;
            case 'D':
                cout << "数据已经删除。" << endl;
                continue;
            case 'S':
                cout << "数据已经排序。" << endl;
                continue;
            case 'Q':
                return 0;
            }
        }
    }

    2-29(一)判断一个数为质数的算法:用一个循环找出这个数所有的因数,如果因数为2,即为1和它本身,则这个数是质数。

    (二)(1)while 语句

    #include<iostream>
    using namespace std;
    int main(){
        int a,i=2,j;
        while (i<=100)
        {
            a=1,j=2;
            while (j<=i) {
                if (i%j == 0) {
                    a++;
                }j++;
            }
            if (a==2){
                cout << i << "  ";
            }
            i++;
        }
        return 0;
    }
    (2)for 语句
    #include<iostream>
    using namespace std;
    int main() {
        int i, j, a;
        for (i = 2; i <=100; i++) {
            a = 1;
            for (j = 2; j <= i; j++){
                if (i%j == 0) {
                    a++;
                }
            }
            if (a == 2) {
                cout << i << " ";
            }
        }return 0;
    }
    (3)do while 语句
    #include<iostream>
    using namespace std;
    int main() {
        int i=2, j, a;
        do {
            a = 1, j = 2;
            for (j = 2; j <= i; j++) {
                if (i%j == 0) {
                    a++;
                }
            }
            if (a == 2) {
                cout << i << " ";
            }
            i++;
        }
            while (i <= 100);
        return 0;
    }

    2-32(1) while 语句

    #include <iostream>
    using namespace std;
    int main() {
        int i,n=65;//n为要猜的数,可修改n的值
        cout << "猜这个数:";
        cin >> i;
        while (true) {
            if (i != n) {
                if (i < n)
                    cout << "小了" << endl;
                else
                    cout << "大了" << endl;
            }
            else {
                cout << "猜对了!";
                break;
            }
            cin >> i;
        }
        return 0;
    }

    (2)do while 语句

    #include <iostream>
    using namespace std;
    int main() {
        int i, n = 65;//n为要猜的数,可修改n的值
        cout << "猜这个数:";
        cin >> i;
        do {
            if (i != n) {
                if (i < n)
                    cout << "小了" << endl;
                else
                    cout << "大了" << endl;
            }
            else {
                cout << "猜对了!";
                break;
            }
            cin >> i;
        } while (true);
        return 0;
    }

    2-34(一)思路:参照书例3-9,用递归法计算

    (二)

    #include <iostream>
    using namespace std;
    int comm(int n, int k){
        if (k > n)
            return 0;
        else if (k == 0 || n == k)
            return 1;
        else
            return comm(n - 1, k) + comm(n - 1, k - 1);
    }
    
    int main(){
        int n, k;
        n = 5; k = 3 ;//五种颜色,摸三次
            cout << comm(n, k) << endl;
        return 0;
    }

     实验总结与体会

     这次实验花费的时间和精力都远远超过了上一次,上次还能仿写,而这次大多是按照自己的想法来编的。

     虽然花了很久,但也不是没有收获,循环语句用得挺熟练了,之间的转化也是。

     但欠缺的也很多,感觉自己写的代码还是有很多可以改进的地方的,但凭借现在的自己还是办不到的。

     还是希望经过一次次的练习自己的技术能够更好吧。

  • 相关阅读:
    SQL in查询报告类型转换失败的3种解决办法
    JS获取TextArea和Input的同步值
    Java接口修饰符详解
    Lua协程的一个例子
    windows命令查看端口占用情况
    重装Zend Studio后如何恢复之前的设置
    现代软件工程第二周的作业
    现代软件工程第一周第一次作业
    现代软件工程第一周作业
    flex属性
  • 原文地址:https://www.cnblogs.com/tensheep/p/8643620.html
Copyright © 2020-2023  润新知