C++(二十四)

前言:

本文紧接上文,将详细讲述C++中数组的使用。

一,给数组元素赋值。

# include <iostream>
using namespace std;
int main(){
 int test[5];//声明一个int数组,有5个元素
     test[0]=10;//给数组赋值
     test[1]=20;
     test[2]=30;
     test[3]=40;
     test[4]=50;
cout<<test[0]<<endl;//输出数组[0]中的值
return 0;
}

输出结果为:

这段代码声明了一个含有五个元素的数组,并将其中一个进行输出。

可以加入一些函数,让其实现更多的功能。

# include <iostream>
using namespace std;
int main(){
 int test[5];//声明一个int数组,有5个元素
     test[0]=10;//给数组赋值
     test[1]=20;
     test[2]=30;
     test[3]=40;
     test[4]=50;

for (int i = 0; i < 5; i++)
     {
        cout<<"第"<<i+1<<"个元素的值为"<<test[i]<<endl;//输出数组元素
     }
     
return 0;
}

我们可以通过使用数组和循环语句轻松处理大量数据。

二,初始化数组。

数组有很多编写方法,它可以同时完成数组的声明与赋值两项任务,这种行为被称为数组的初始化。

语法:

类型名称 数组名称 {元素数量}={值0,值1,值2.....}

上文中的数组就饿可以初始化为:

 int test[5]={10,20,30,40,50};

同时,在初始化数组时,无需再[]中指定数组的数量,也就是说,以下两行代码运行结果一致:

int test[4]={20,30,40,50};

 int test[6]={20,30,40,50};

收for循环影响,所输出的值以[]内的为准,若数组的值超出,则输出0。

三,数组的下标。

例如:

 int test[5];//声明一个int数组,有5个元素
     test[0]=10;//给数组赋值
     test[1]=20;
     test[2]=30;
     test[3]=40;
     test[10]=50;

则会输出错误的值或报错。

使用数组时应避免像超出数组大小的元素历代入值。

四,从键盘输入数组的值。

# include <iostream>
using namespace std;
int main(){
    int a;//定义整数变量a
    cout << "请输入需要对几个人的成绩进行排序:" ;
    cin >> a;//键盘输入a的值
int b= a;//将a的值赋给b
int text[b];//定义一个整型数组text,长度为b
    cout << "请输入"<<b<<"个人的成绩:" << endl;//输出提示信息
    for(int c = 0; c < b; c++){//循环输入b个成绩
        cin >> text[c];//键盘输入第c个成绩
    }
    for (int d = 0; d< b; d++)//循环输出b个成绩
    {
        cout <<"第"<< d+1 << "个人的成绩是"<< text[d] << endl;//输出第d个成绩
    }
    return 0;

}

运行结果为:

这段代码将用户键盘输入的信息收录进数组中,对其进行排序后再进行输出。

五,对数组的内容进行排序。

代码为:

# include <iostream>
using namespace std;
int main(){
   int num;//定义常量,表示输入的人数
   cout<<"请输入人数:";
   cin>>num;
   int text[num];//定义数组,表示输入的分数

   cout<<"请输入"<<num<<"个人的分数:"<<endl;
   for(int i=0;i<num;i++){
       cin>>text[i];
   }//获取输入的分数
   for ( int s=0;s<num-1;s++)//冒泡排序
   {
    for ( int t=s+1; t<num;t++)//比较相邻两个数的大小
    {
       if (text[s]<text[t])//如果前一个数小于后一个数
       {
          int temp=text[s];//定义一个临时变量,用于交换两个数的位置
          text[s]=text[t];//交换两个数的位置
          text[t]=temp;//交换两个数的位置
       }
    }
   }
   for (int j=0;j<num;j++)//输出排序后的分数
   {
 cout<<"第"<<j+1<<"个人的分数是"<<text[j]<<endl;
   }
   
    
    return 0;
}

这段代码对数组元素进行排序,运行结果为:

这段代码对数组的元素进行了将续篇列。

首先,将数组的每个元素都与数组的第一个元素进行比较,如果比第一个元素大们则替换为第一个元素。同理可得出第二大,第三大的数,以此类推。这就是冒泡排序的一种。

同时为了替换元素,需要一个余姚替换元素相同数量的变量,因此在排序过程中使用了变量temp。

六,多维变量。

上文所讲述的是数组排列成一排的盒子形象,但在工作中,有时需创建像许多盒子排列的多维数组,。

多维数组的生命结构如下:

类型名称 数组名称 “元素数量” “元素数量”

具体使用为:

int test[2][3];

这就是声明了一个二维数组,其可以存储2*3,6个int类型的数组。

他可以用于存储多个学生,多科目考试成绩;也可以用于数学矩阵公式计算。

例如:

# include <iostream>
using namespace std;

int main(){
    int a=3,b=6;
    int test [a] [b];
  test[0][0]=1;
    test[0][1]=2;
    test[0][2]=3;
    test[0][3]=4;
    test[0][4]=5;
    test[0][5]=6;
    test[1][0]=7;
    test[1][1]=8;
    test[1][2]=9;
    test[1][3]=10;
    test[1][4]=11;
    test[1][5]=12;
    test[2][0]=13;
    test[2][1]=14;
    test[2][2]=15;
    test[2][3]=16;
    test[2][4]=17;
    test[2][5]=18;
    test[3][0]=19;
    for(int i = 0; i < b; i++){
        cout<<"第"<<i+1<<"行数据为"<<test[0][i]<<endl;
        cout<<"第"<<i+1<<"列数据为"<<test[1][i]<<endl;
    }
    return 0;
}

运行结果为:

此另外还可以初始化多维数组,例如:

# include <iostream>
using namespace std;

int main(){
    int a=2,b=5;//定义数组大小
    int test[2][5]={
        {1,2,3,4,5},{5,4,3,2,1}
    };//二维数组初始化并赋值
for (int i = 0; i < 2; i++)
{
    for (int j = 0; j < 5; j++)
    {
        cout<<test[i][j]<<" ";
    }
    cout<<endl;
}
    return 0;
}
    

运行结果为:

这样可以使代码更简化,便于书写和认知。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值