【贪玩巴斯】入门c++,你只需要敲出这些程序 !(四){数组输出最高分!元素的逆置!冒泡排序!二维数组!}

//

//  main.cpp

//  _04day

//

//  Created by AchesonD 贪玩巴斯 on 2021/3/22.

//

 

 

 

一、数组的运用,比较大小,输出最高分!

 

//五个人的成绩比大小,并且打印输出分最高的人的分数。

//数组的运用 ———— int arr[5] = {99,100,30,40,55} ;

 

/*

 

 

#include <iostream>

using namespace std;

 

int main()

{

    int score[5] = {99,100,30,40,55};

    int max = 0;

    

    for(int i = 0; i < 5; i++)

    {

        cout << score[i] << endl;

    

        if(score[i] > max)

        {

            max = score[i];

        }

        

    }

    cout << "则成绩最高为" << max << endl;

    

    

    system("pause");

    return 0;

}

 

*/

 

 

 

/*

 

二、元素的逆置!

 

 

//数组的运用:元素的逆置

//声明五个元素的数组,并且将元素逆置

//如: 5 6 7 8 9 逆置后结果为 9 8 7 6 5

 

#include<iostream>

using namespace std;

 

int main()

{

    int arr[5] = {5,6,7,8,9};

    cout << "数组逆置前的排序为: " << endl;

    for(int i = 0; i < 5; i++)

    {

        cout << arr[i] << endl;

    }

    

    //开始逆置数组

    int f = 0;

    int temp = 0;

    int l = sizeof(arr)/sizeof(arr[0]) - 1 ;

    cout << "数组逆置后的排序为: " << endl;

    while( f <= l )

    {

        

        temp = arr[f];

        arr[f] = arr[l];

        arr[l] = temp;

        

        f++;

        l--;

 

    

    }

    

    for(int i = 0; i < 5; i++)

    {

        cout << arr[i] << endl;

    }

    

    system("pause");

    return 0;

}

 

*/

 

 

 

 

 

/*

 

三、冒泡排序

 

 

//冒泡排序: 最常用的排序算法,对数组内的元素进行排序

//比较相邻的元素。如果第一个比第二个大,就交换他们两个。

//对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。

//重复以上的步骤,每次比较次数-1,直到不需要比较

//例子: 对 十个数:8 9 10 22 39 4 8 3 90 100 进行升序排序

 

 

 

 

 

#include<iostream>

using namespace std;

 

int main()

{

    int arr[10] = {8,9,10,22,39,4,8,3,90,100};

    cout << "冒泡排序前的顺序为:" << endl;

    for(int i = 0; i < 10; i++)

    {

        cout << arr[i] << endl;

    }

    

    for(int i = 0; i < 10 - 1; i++) //这里的循环表示轮数 十个数字冒泡比较九次

    {

        for(int j = 0; j < 10 - i - 1; j++) //这里表示一个循环轮中,有 十个数字-1 - i(轮数) 的交换次数,这个次数随着轮数的增加而减少!

        {

            if(arr[j] > arr[j+1])

            {

                int temp = arr[j];

                arr[j] = arr[j+1];

                arr[j+1] = temp;

            }

        }

        

    }

    cout << "冒泡排序后,升序的顺序为:" << endl;

    for(int i = 0; i < 10; i++)

    {

        cout << arr[i] << endl;

    }

    

    

    

    

    system("pause");

    return 0;

}

 

 

*/

 

 

 

 

 

/*

 

四、二维数组的定义

 

//二维数组

 

//二维数组的四种定义方式

 

//数据类型 数组名[ 行数 ][ 列数 ];

//数据类型 数组名[ 行数 ][ 列数 ] = { {数据1,数据2 } ,{数据3,数据4 } };

//数据类型 数组名[ 行数 ][ 列数 ] = { 数据1,数据2,数据3,数据4};

//数据类型 数组名[ ][ 列数 ] = { 数据1,数据2,数据3,数据4};

//第二种更加直观,提高代码的可读性

 

#include<iostream>

using namespace std;

 

int main()

{

    //第一种方式

    //数组类型 数组名 [行数][列数]

    int arr1[2][3];

    //单个利用下标赋值

    arr1[0][0] = 9;

    arr1[0][1] = 8;

    arr1[0][2] = 7;

    arr1[1][0] = 6;

    arr1[1][1] = 5;

    arr1[1][2] = 4;

    

    //利用嵌套for循环输出————外行内列

    for(int i = 0; i < 2; i++)

    {

        for(int j = 0; j < 3; j++)

        {

            cout << arr1[i][j] << "\t";

        }

        cout << endl;

    }

    

    

    

    

    //☆☆☆☆☆☆☆☆☆ 第二种方式 ☆☆☆☆☆☆☆☆☆

    //最推荐的方式

    //数据类型 数组名[行数][列数] = { {数据1,数据2},

    //                            {数据3,数据4}

    //                          };

    int arr2[2][3] =

    {

        {1,2,3},

        {4,5,6}

    };

    

    

    

    

    //第三种方式

    //数据类型 数组名[行数][列数] = {数据1,数据2,数据3,数据4 };

    int arr3[2][3] = {1,2,3,4,5,6};

    //会根据输入的行列数自动分行列

    

    

    

    //第四种方式

    //数据类型 数组名[][列数] = {数据1, 数据2, 数据3, 数据4};

    int arr4[][3] = {1,2,3,4,5,6};

    //会根据列数来自动分行

    system("pause");

    return 0;

}

 

 

*/

 

 

 

/*

五、二维数组的运用以及sizeof的运用!

 

 

//二维数组数组名的运用

//1.查看二维数组所占内存空间 2.获取二维数组首地址

 

#include<iostream>

using namespace std;

 

int main()

{

    //二维数组数组名

    int arr[2][3] =

    {

        {5,2,0},

        {1,3,4}

    };

    

    cout << "二维数组的大小为:" << sizeof(arr) << endl;

    cout << "二维数组一行的大小为:" << sizeof(arr[0]) << endl;

    cout << "二维数组一个元素的大小为: " << sizeof(arr[0][0]) << endl;

    

    //可以运用sizeof的计算来得出行数,列数和元素个数

    cout << "二维数组行数:" << sizeof(arr)/sizeof(arr[0]) << endl;

    cout << "二维数组的列数: " << sizeof(arr[0])/sizeof(arr[0][0]) << endl;

    cout << "二维数组总的元素个数: " << sizeof(arr)/sizeof(arr[0][0]) << endl;

    

    

    //利用数组名来获取数组的地址

    cout << "二维数组首地址:" << arr << endl;

    cout << "二维数组第一行地址: " << arr[0] << endl;

    cout << "二维数组第二行地址: " << arr[1] << endl;

    

    cout << "二维数组第一个元素地址: " << &arr[0][0] << endl; //注意:取到具体元素的地址时需要用取地址符号&

    cout << "二维数组第二个元素地址: " << &arr[0][1] << endl;

    //二维数组首地址、二维数组第一行地址、二维数组第一个元素的地址。都是指的同一个地址!

    

 

    

    system("pause");

    return 0;

}

 

*/

 

 

 

 

/*

六、二维数组的应用案列

 

 

//二维数组应用案列

//有三个同学参加唱歌比赛,三轮比拼中,分别得分如下;请分别输出三个同学的总分

//      第一轮    第二轮    第三轮

//小杨     10       10        10

//小王     4         5         7

//小黄      9         2        8

 

 

#include<iostream>

using namespace std;

#include<string>

 

int main()

{

    int scores[3][3] =

    {

        {10,10,10},

        {4,5,7},

        {9,2,8}

    };

    

    string names[3] = {"小杨","小王","小黄"};

    

    for(int i = 0; i < 3; i++)

    {

        int sum = 0;

        for(int j = 0; j < 3; j++)

        {

        sum += scores[i][j];

        }

        cout << names[i] <<" 同学的总分为:" << sum << endl;

    }

    

    

    system("pause");

    return 0;

}

 

 

*/

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪玩巴斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值