数组录入及初始化

数组录入

情况一: 知道数组长度

直接申请对应长度数组,通过确定的for循环录入数组

#include<iostream>
using namespace std;

int main(){
	int length;
	cout<<"请输入数组长度:";
	cin>>length;
	int a[length];
	for(int i=0;i<length;i++){
		cin>>a[i];
	}
	for(int i=0;i<length;i++){
		cout<<a[i]<<" ";
	}
	return 0;
}

在这里插入图片描述

情况二: 未知数组长度,必须用数组

必须事先定义长度很大的数组,先录入a[0],再通过while循环录入

//在未知数组长度时,事先定义长数组,进行录入 
#include<iostream> 
using namespace std;
int main(){
    int i=0;
    int a[10];
    cin>>a[i++];
    while(cin.get()!='\n'){        //while(getchar()!='\n'){
            cin>>a[i++];           //scanf("%d",&a[i++]);
    }
    cout<<i<<endl;
    for(int j=0;j<i;j++){
        cout<<a[j]<<" ";
    }
    return 0;
}

在这里插入图片描述

情况三: 用vector实现动态数组
#include<iostream>
#include<vector> 
using namespace std;
int main(){
    int num;
    vector<int>a;
    while(cin>>num){
    	a.push_back(num);
    	if(cin.get()=='\n') break;
    }
    cout<<a.size()<<endl;
    for(int i=0;i<a.size();i++){
    	cout<<a[i]<<" ";
    }
    return 0;
}

在这里插入图片描述


情况一:数组初始化为0或者-1

memset(数组名,值,sizeof(数组名));
头文件#include<cstring>

#include<iostream>
#include<cstring>
using namespace std;

int main(){
    int a[6];
    int b[6][6];
    
    memset(a,-1,sizeof(a));   //一维数组初始化为-1
    memset(b,0,sizeof(b));    //二维数组初始化为0
    
    for(int i=0;i<6;i++){
        cout<<a[i]<<" ";     //-1 -1 -1 -1 -1 -1
    }
    for(int i=0;i<6;i++){
       for(int j=0;j<6;j++){
          cout<<b[i][j];
       }
       out<<endl;
    }

    return 0;
}
情况二:数组初始化为任意值

fill(数组地址,数组地址+长度,初始值)
头文件#include<algorithm>

#include<iostream>
#include<algorithm>    //使用fill初始化数组需要导入算法库
using namespace std;

int main(){
    int a[6];
    int b[6][6];

    fill(a, a+6, 1);         //初始化一维数组:fill(数组名,数组名+长度,数值)
    fill(b[0], b[0]+6*6, 2);   //初始化二维数组:fill(第1个,第1个+长度*长度,数值)

    for(int i=0;i<6;i++){
        cout<<a[i];
    }
    cout<<endl;
    for(int i=0;i<6;i++){
        for(int j=0;j<6;j++){
            cout<<b[i][j]<<" ";
        }
        cout<<endl;
    }

    return 0;
}


数组作为函数参数时,一维数组长度可以空缺不指定,二维数组至少指定第二维

发布了16 篇原创文章 · 获赞 0 · 访问量 538

猜你喜欢

转载自blog.csdn.net/clfxyz/article/details/103039751
今日推荐