2009年苏州大学837复试机试C/C++

2009年苏州大学机试

第一题(20分)

题目

从键盘从键盘输入一组非零整数(以输入零作为输入结束的标志)

编程要求:

  1. 这组数的正数和负数的个数
  2. 这组数的和及平均值

代码

#include <iostream>
#include <sstream> //字符串流
using namespace std;

int main() {

    const int MAX_SIZE = 100;
    int Arr[MAX_SIZE];
    int size = 0;
    int Positive_integer = 0;
    int Negative_integer = 0;
    int Arr_Sum = 0;
    double Ave_value = 0;
    int Temp;

    cout << "请输入一组非零整数(以空格分隔,输入0结束):" << endl;

    //读取整行输入
    string input;
    getline(cin,input);

    //使用字符串流解析整行输入
    stringstream ss(input);


    //输入数组操作
    while (ss >> Temp && Temp != 0){
            if (size < MAX_SIZE){
                Arr[size] = Temp;

                //判断正负
                if (Temp > 0){
                    Positive_integer++;
                } else{
                    Negative_integer++;
                }

                size++;
            } else{
                cout << "数组已满,无法添加更多元素。" << endl;
                break;
            }
    }

    //打印数组并求和
    cout << "输入的非零数组为:";
    for (int i = 0; i < size; ++i) {
        Arr_Sum += Arr[i];
        cout << Arr[i] << " ";
    }
    cout << endl;

    //计算平均值
    Ave_value = static_cast<double>(Arr_Sum) / size;

    //打印结果
    cout << "这组数正数为:" << Positive_integer << "个"
    << "负数为:" << Negative_integer << "个" << endl;

    cout << "这组数的和为:" << Arr_Sum << ",平均值为:" << Ave_value << endl;

    //清零
    Positive_integer = 0;
    Negative_integer = 0;
    Arr_Sum = 0;
    Ave_value = 0;


    system("pause");
    return 0;
}

结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第二题(30分)

题目

从键盘输入一个4*4的矩阵A,

编程求:

  1. 矩阵A的两对角线元素之和
  2. 矩阵A的转置
  3. 从键盘输入另一个4*4的矩阵B计算矩阵A和B的乘积

代码

#include <iostream>
using namespace std;


int main() {

    int Arr_A[4][4];
    int Tran_Arr_A[4][4];
    int Arr_B[4][4];
    int Arr_AB[4][4];
    int MainDiag_Sum = 0;
    int SecondaryDiag_Sum = 0;
    int MandS_Sum = 0;


    cout << "请输入4*4矩阵A的元素:" << endl;

    //输入矩阵元素:
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            cout << "请输入第 " << (i + 1) << " 行,第 " << (j + 1) << " 列的元素:";
            cin >> Arr_A[i][j];
        }
    }

    //输出矩阵
    cout << "输入的矩阵为:" << endl;
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            cout << Arr_A[i][j] << " ";
        }
        cout << endl;
    }

    //计算两对角线元素之和
    for (int i = 0; i < 4; ++i) {
        MainDiag_Sum += Arr_A[i][i];
        SecondaryDiag_Sum += Arr_A[i][4 - 1 -i];
    }
    MandS_Sum = MainDiag_Sum + SecondaryDiag_Sum;

    //输出两对角线元素之和
    cout << "主对角线元素之和:" <<  MainDiag_Sum << endl;
    cout << "副对角线元素之和:" <<  SecondaryDiag_Sum << endl;
    cout << "两对角线元素之和:" <<  MandS_Sum << endl;

    //矩阵A的转置
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            Tran_Arr_A[j][i] = Arr_A[i][j];
        }
    }

    //输出矩阵A的转置
    cout << "矩阵A的转置为:" << endl;
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            cout <<  Tran_Arr_A[i][j] << " ";
        }
        cout << endl;
    }

    //输入矩阵B
    cout << "请输入4*4矩阵B的元素:" << endl;
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            cout << "请输入第 " << (i + 1) << " 行,第 " << (j + 1) << " 列的元素:";
            cin >> Arr_B[i][j];
        }
    }

    //计算矩阵A和B的乘积
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            Arr_AB[i][j] = 0;
            for (int k = 0; k < 4; ++k) {
                Arr_AB[i][j] += Arr_A[i][k] * Arr_B[k][j];
            }
        }
    }

    // 输出矩阵乘积
    cout << "矩阵 A 和 B 的乘积为:" << endl;
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            cout << Arr_AB[i][j] << " ";
        }
        cout << endl;
    }

    system("pause");
    return 0;
}

结果

在这里插入图片描述
在这里插入图片描述

声明

此代码为个人编写,题目来自互联网,使用平台为Clion,C++17标准。

由于博主才疏学浅,如有错误请多多指正,如有更好解法请多多交流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/340902.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode刷题笔记题解(C++):LCR 102. 目标和

思路&#xff1a;利用回溯去遍历&#xff0c;回溯结束条件为遍历到最后一个数字&#xff0c;如果符合target则目标数1 class Solution { public://记录合为结果的数量int count 0;int findTargetSumWays(vector<int>& nums, int target) {//利用回溯来寻找backtrac…

六、高效并发

1. Java 内存模型&#xff08;JMM&#xff09; JCP 定义了一种 Java 内存模型&#xff0c;以前是在 JVM 规范中的&#xff0c;后来独立出来成为 JSR-133&#xff08;Java 内存模型和线程规范修订&#xff09;。 JCP 表示 Java 社区组织。 JSR 表示 Java 规范请求。 Java 内存模…

ML Design Pattern——I see

ML Life Cycle MLOps ML Pipelines Fully automated processes ML Design Patterns Reading the book? 链接&#xff1a;https://pan.baidu.com/s/1MgOSHASAOJ0EVhMYmT9QeQ?pwd96uk 提取码&#xff1a;96uk

pip踩坑记录

1、服务器模型奇妙出现了pip安装任何包、换任何源都连接超时的问题&#xff0c;让人焦头烂额。起初怀疑是服务器访问不了外网&#xff0c;但是ping baidu.com非常正常。然后ping 清华源&#xff0c;豆瓣源等等&#xff0c;发现都ping不通&#xff0c;只有百度能ping通。发现pin…

实验:MySQL 客户端SocketTimeout 抓包分析

实验准备 服务端环境准备 服务器信息 阿里云 99 大洋白嫖机 $ cat /proc/version Linux version 5.15.0-83-generic (builddlcy02-amd64-027) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #92-Ubuntu SMP Mon Aug 14 09:30:42 UT…

AVL树底层实现

目录 AVL树简介 AVL树节点定义​编辑 AVL树特性 AVL树的建立 AVL树的插入 AVL树的旋转 验证AVL树 AVL树的实现&#xff08;代码部分&#xff09; AVL树简介 AVL树是对二叉搜索树的改进&#xff0c;二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序…

栈|数据结构|C语言|详细讲解|代码实现

介绍栈 内存可以分为“静态内存”和“动态内存”&#xff0c;讲台内存是在栈中分配的&#xff0c;动态内存是在堆中分配的。 静态或局部变量&#xff0c;是以压栈和出栈的方式分配内存的&#xff0c;就叫栈区&#xff1b; 动态内存是一个一种堆排序的方式分配内存的&#xf…

服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 在当今数字化的时代&#xff0c;恶意软件攻击已经变得越来越复杂和狡猾&#xff0c;[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis[[Rastairmail.cc]].wis勒索病毒是其中的一种新威胁。本文91数据恢复将深入介绍[[MyFilewaifu.club]].wis [[backupwaif…

【Ubuntu18.04安装Labelme】

Ubuntu18.04安装Labelme 1 安装Anaconda并创建conda环境2 安装依赖3 安装Labelme4 安装验证 1 安装Anaconda并创建conda环境 Anaconda3安装教程&#xff1a;https://blog.csdn.net/dally2/article/details/108206234 "ctrlaltt"快捷键打开终端&#xff0c;创建conda…

牛逼的签章平台 亲测好用的4.5k+star开源的文档签署平台DocuSeal部署教程

亲测可以使用 使用起来相对好用 比我们自己做的电子合同系统功能还要多 几乎结合了我们两个系统的功能 牛逼 DocuSeal简介 DocuSeal 是一个开源的文档签署平台&#xff0c;可以让你轻松地创建、填写和签署数字文档&#xff0c;提供了一个用户友好的替代方案&#xff0c;与 Doc…

磁盘格式化

系列文章目录 磁盘格式化 磁盘格式化 系列文章目录在WIN下磁盘格式化 在WIN下磁盘格式化 1.右键单击计算机并选择管理。 2.从弹出的计算机管理界面中选择磁盘管理。 3.右键单击要格式化的磁盘&#xff0c;并从弹出菜单中选择格式化。 4.弹出格式化参数&#xff0c;你可以根据个…

C++入门学习(十二)字符串类型

上一节&#xff08;C入门学习&#xff08;十一&#xff09;字符型-CSDN博客&#xff09;中我们学到如何表示和使用一个字符串&#xff0c;本篇文章是字符串&#xff08;多个字符&#xff09;。 定义字符串主要有两种方式&#xff1a; 第一种&#xff1a; char str[] "…

咖啡+茶更续命!川大华西最新:每天饮用3杯茶,抗衰效果最好!同饮咖啡死亡风险下降22%

茶与咖啡&#xff0c;是全世界消费最广泛的饮料之二—— 茶是世界上仅次于水、消费量第二大的饮料&#xff0c;全球约有30亿人喜欢喝茶&#xff0c;基本上每3人中便有1人爱喝茶&#xff1b;至于大家有多爱喝咖啡&#xff1f;顶刊Science的数据统计显示&#xff0c;全世界平均每…

DolphinScheduler-3.2.0集群部署教程

本文目录 1.集群部署方案(2 Master 3 Worker)2.前置准备工作3.端口说明4.DS集群部署1.时间同步2.配置用户、权限3.配置集群免密登陆4.ZK集群启动5.初始化数据库1.创建数据库、用户、授权2.解压缩安装包3.添加MySQL驱动至libs目录 6.配置文件修改1.dolphinscheduler_env.sh 配置…

深度学习(1)--基础概念

目录 一.计算机视觉(CV) 二.神经网络基础 三.神经网络整体架构 一.计算机视觉(CV) (1).计算机视觉中图像表示为三位数组&#xff0c;其中三维数组中像素的值为0~255&#xff0c;像素的值越低表示该点越暗&#xff0c;像素的值越高表示该点越亮。 (2).图像表示 A*B*C&#xf…

专业140总分420+南京大学851信号与系统考研经验电子信息通信信号与信息处理

今年专业140&#xff0c;数学140&#xff0c;总420&#xff0c;圆梦南京大学&#xff0c;一年多的备考&#xff0c;期间有段时间&#xff0c;有过犹豫&#xff0c;有过纠结&#xff0c;有过迟疑&#xff0c;但最后还是理性战胜感性&#xff0c;坚持了下来&#xff0c;总结这一年…

RTDETR 引入 超越自注意力:面向医学图像分割的可变形大卷积核注意力

医学图像分割在转换器模型的应用下取得了显著的进展,这些模型擅长捕捉广泛的上下文和全局背景信息。然而,这些模型随着标记数量的平方成比例增长的计算需求限制了它们的深度和分辨率能力。大多数当前的方法通过逐层处理D体积图像数据(称为伪3D),在处理过程中错过了关键的跨…

网址链接的二维码如何制作?扫码怎么跳转其他网页?

随着互联网的快速发展&#xff0c;大家可以从网上找到自己满足自己需求的信息或者其他内容&#xff0c;大多数情况下现在都可以用手机来完成。现在很多的内容都是需要通过扫码来查看的&#xff0c;那想要将一个网址链接生成二维码图片&#xff0c;具体该怎么实现这一需求呢&…

RAMROM

RAM&#xff08;Random Access Memory&#xff09;&#xff0c;随机存取存储器&#xff0c;也叫主存&#xff0c;又称内存&#xff08;动态ROM&#xff09;&#xff0c;是与CPU直接交换数据的内部存储器。它可以随时读写&#xff08;刷新时除外&#xff09;&#xff0c;而且速度…