C ++ 数组

2023-11-01

目录

寻找最大、最小值

数组


寻找最大、最小值

对于这个编程测验,我们将找到用户将输入的15个数字的最小值和最大值以及平均值。

#include <iostream>

int main()
{
    int userInput = 0;
    int maxNumber = 0;
    int minNumber = 100;
    int sumTotal = 0;
    float average = 0; 

    //get the numbers from the user
    for(int i = 0; i < 15; i++)
    {
        std::cout << "Enter a number: ";
        std::cin>>userInput;
        std::cout << userInput << "\n";
        if(userInput > maxNumber)
        {
            maxNumber = userInput;
        }
        if(userInput < minNumber)
        {
            minNumber = userInput;
        }
        sumTotal = sumTotal + userInput;
    }
    std::cout << "Maximum number = " << maxNumber << "\n";
    std::cout << "Minimum number = " << minNumber << "\n";
    average = sumTotal / 15.0;
    std::cout << "Average = " << average << "\n";
    return 0;
}

运行输入:

14 23 88 97 60 54 33 26 100 97 55 63 89 78 69

运行结果: 

Maximum number = 100

Minimum number = 14

Average = 63.0667

数组

数组包含在C ++编程语言中,就像它们在其他语言中一样。 这意味着你们中的许多人已经熟悉数组。

因此,学习使用数组是一个很好的训练。我应该告诉你一件事:在C ++中,您不需要学习数组。你可以使用向量而不是使用数组。 向量比数组更强大/更通用。但这里我还是希望能够学好数组:

C++ 数组可以声明为:

variableType arrayName [ ] = {variables to be stored in the array};

或者像:

variableType arrayName[array size]

 有关数组的详细信息点击这里

我们可以通过标识特定的索引来访问数组中的值。

variableType arrayName[ index number ]

 用这个程序练习数组。实例化 int 数组:

int userInput[40];

我们来一起看代码:

 #include <iostream>
 #include <stdio.h>

 int main()
 {
     int searchKey = 0;
     int searchArray[10] = {324,4567,6789,5421345,7,65,8965,12,342,485};
     int location = 0;

     while(1)
     {
         std::cout<<"Enter an integer ('-1' to quit): ";
         scanf("%d", &searchKey);
         std::cout<< searchKey<<"\n";
         if(searchKey == -1)
         {
             break;
         }
         for(int i = 0; i < 10; i++)
         {
             if(searchKey == searchArray[i])
             {
                 location = i;
                 break;
             }
             location = -1;
         }
         if(location != -1)
         {
             std::cout<<searchKey<<" is at location "<<location<<" in the array.\n";
         }
         else
         {
             std::cout<<searchKey<<" is not in the array.\n";
         }
    }
     return 0;
 }

输入-1运行结果:

输入数组内索引为0的数字:

 输入不在数组内的数字:

代码解析:

1。scanf("%d", &searchKey); 这里又有一个允许用户输入的函数,之前 std::cin 还用吗??

答:在C++里面,cin是输入流,scanf是标准输入。在方便性上,cin优于scanf,举例:

int a;
cin>>a;
scanf("%d",&a);

但如果是输入数据很大的情况下,建议不要用cin,因为它所占用的时间十分长。例如 for(int i=1;i<=1000000;i++) cin>>a[i]; 可能会用掉比 scanf 多很多倍的时间。所以,一些单个的输入可以用 cin,但循环之类的输入最好用 scanf() 。 


编程中最没用的东西是源代码,最有用的东西是算法和数据结构。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C ++ 数组 的相关文章

  • 类和函数模板特例化

    引入原因 编写单一的模板 它能适应大众化 使每种类型都具有相同的功能 但对于某种特定类型 如果要实现其特有的功能 单一模板就无法做到 这时就需要模板特例化 定义 是对单一模板提供的一个特殊实例 它将一个或多个模板参数绑定到特定的类型或值上
  • C++之纯虚函数与抽象类

    C 之纯虚函数与抽象类 什么是纯虚函数 什么是抽象类 什么是纯虚函数 纯虚函数是将基类中的函数声明为虚函数 0的函数 纯虚函数只能声明 不能定义 因为纯虚函数没有函数体 纯虚函数的写法为 virtual 函数返回类型 函数名 参数列表 0
  • c++基础2:使用VS2010 创建最简单的MFC应用程序窗体

    1 添加 新建项目 选择 VISUAL C MFC应用程序 确定 下一步 2 在 应用程序类型 中选择 基于对话框 下一步 3 在 用户界面功能 只选择 粗框架 下一步 4 在 高级功能 取消所有选择 下一步 5 生成的类 点击 完成
  • 如何声明静态方法 和 实现?

    如何声明静态方法 和 实现 在 C 中 声明和实现静态方法 静态成员函数 与普通成员函数有一些区别 静态方法属于类本身 而不是类的对象 因此在声明和实现时需要特殊的语法 声明静态方法 在类的声明中 通过在函数原型前面添加关键字 static
  • STL容器之deque

    文章目录 deque容器简介 deque的操作 deque容器简介 deque是 double ended queue 的缩写 和vector一样都是STL的容器 deque是双端数组 而vector是单端的 deque在接口上和vecto
  • 重写、覆盖、重载、隐藏、多态几个概念的区别分析

    override gt 重写 覆盖 overload gt 重载 polymorphism gt 多态 override是重写 覆盖 了一个方法 以实现不同的功能 一般是用于子类在继承父类时 重写 重新实现 父类中的方法 成员函数的重载 o
  • 如何重载前置++和后置++

    前置 即 运算符位于操作数的前面 例如 i 后置 即 运算符位于操作数后面 例如 i 注意一下几点 1 前置 重载时没有参数 而后置 重载时有参数 不会使用其参数 仅仅是区分用 可以理解为前置 后面有参数了 所以不需要参数 2 前置 需要返
  • Cpp学习——string模拟实现

    目录 一 string的成员变量 二 string的各项功能函数 1 构造函数 2 析构函数 3 扩容函数 4 插入与删除数据的函数 5 运算符重载 6 打印显示函数 7 拷贝构造 8 find函数 一 string的成员变量 在模拟实现s
  • std::vector如何使用

    Vector被认为是一个容器 是因为它可以存放各种类型的对象 正因为这 有时候也被人叫动态数组 能够增加和压缩数据 为了使用vector 必须在头文件中包含如下代码 include
  • 【千律】C++基础:函数的重载

    include
  • 【C++】Vector和String详解

    前言 没错 我又更新了 即使没人看 上一篇文章介绍了有关双向链表的容器list 那问题来了 数组和字符串这种使用频率非常高的数据结构 在STL模板中会不会有让人眼前一亮的实现哪 很明显 有 vertor和string就是这两种数据结构相对应
  • 【千律】C++基础:对字符串指定位置的字符变换大小写

    实现功能 当输入参数b odd pos为ture时 将字符串中奇数位置的字符转换为大写 同时将偶数位置的字符转换为小写 反之 当b odd pos为false时 将字符串中奇数位置的字符转换为小写 同时将偶数位置的字符转换为大写 inclu
  • C语言面试必问的经典问题(纯”gan“货)

    C语言面试必问的经典问题 1 预处理 1 预编译 编译过程最先做的工作是啥 何时需要预编译 指令有什么 答 预编译就是预处理 就是把一些文本的替换工作工作 预编译指令 include ifdef ifndef else endif 编译 字
  • 条件编译小结

    编码的时候经常要用到条件编译 每次都到网上去查比较浪费时间 今天总结一下以备后用 编译器 GCC ifdef GNUC if GNUC gt 3 GCC3 0以上 Visual C ifdef MSC VER 非VC编译器很多地方也有定义
  • LeetCode之最长公共子序列问题LCS解决方法

    Leetcode官网解答 使用动态规划原理 请参考原文地址 https leetcode cn com problems longest common subsequence solution zui chang gong gong zi
  • c/c++时间类型

    1 time t time t 类型 这本质上是一个长整数 表示从1970 01 01 00 00 00到目前计时时间的秒数 如果需要更精确一点的 可以使用timeval精确到毫秒 time t cur time NULL 2 struct
  • uthash

    在软件开发中 不可不免的会使用到hash表 hash表的优点这里就不说了 以下介绍一个hash表的C实现 uthash是用宏实现的 使用的时候非常方便 只用包含uthash h即可 Uthash的三个数据结构 1 typedef struc
  • C++ 11 新特性之统一初始化语法

    C 之前的初始化语法很乱 有四种初始化方式 而且每种之前甚至不能相互转换 让人有种剪不断 理还乱的感觉 曾经去面试 就有人问我string有几种初始化方式 当时就说出了两种 fuck 面试官还得意的说 你连基本的初始化方式都记不清 还做啥2
  • const修饰成员函数

    常函数 成员函数后加const后 我们称这个函数为常函数 在常函数内不可以修改成员的属性 成员属性声明时加关键字mutable后 在常函数中依然可以修改 常对象 声明对象前加const称该对象为常对象 常对象不能在类外修改其成员属性 但可以
  • C++类和对象:补充拷贝构造

    前言 如果一个类中什么成员都没有 简称为空类 空类中什么都没有吗 并不是的 任何一个类在我们不写的情况下 都会自动生成下面6个默认成员函数 目录 一 六大函数 1 构造函数 1 定义 2 特性 3 赋值 4 初始化列表 2 拷贝构造函数 3

随机推荐