huyuhang-c++-复习02

数组复习

#include <iostream>
using namespace std;
// 数组
int main (){
    // 定义数组
    int arr1[] = {111, 222, 333};
    int arr2[100]; // 只声明容量, 没有初始化数组中的值是不确定的值
    int arr3[100] = {666, 888};

    //  访问数组元素 索引访问数组
    cout<< arr1 <<endl;
    cout<< arr1[0] <<endl;
    cout<< arr1[1] <<endl;
    cout<< arr1[2] <<endl;

    // 循环方式访问
    int len = sizeof(arr2)/sizeof(arr2[0]);
    cout<< "len = "<< len <<endl;
    for (int i = 0; i < len; i++) {
        cout<< arr2[i] <<endl;
    }
    cout<< "-----------------------" <<endl;
    for (int i = 0; i < 100; i++) {
        cout<< arr3[i] <<endl;
    }
    return 0;
}

求数组中的最大值

#include <iostream>
using namespace std;
// 数组和函数结合的典型应用
// 1. 编写函数, 求数组中的最大值
int showArrayMaxV(int array[], int len){
    if (len > 0){
        int maxV = array[0];
        for (int i = 1; i < len; i++) {
            if (array[i] > maxV)
                maxV = array[i];
        }
        return maxV;
    } else{
        return 0x7fffffff;
    }
}
int main (){
    int arr[] = {111, 222, 333, 444, 555, 6666, 777, 888};
    int arr2[] = {};
    cout<< showArrayMaxV(arr, 8) <<endl;
}

数组和函数

#include <iostream>
using namespace std;
// 数组是一种引用类型, 当数组名被传入到函数中时, 对数组的操作会影响到原数组
int add100(int x){
    x += 100;
    cout<< "x = "<< x <<endl;
}
void updateFirst(int arr[], int len){
    arr[0] = 666;
}
int main (){
    int a = 1;
    add100(a);
    cout<< "a = "<< a <<endl;

    int arr[] = {111, 222, 333, 444, 555, 6666, 777, 888};
    updateFirst(arr, 8);
    cout<<"arr[0] = "<< arr[0] <<endl;

    return 0;
}

数组逆序

#include <iostream>
#include <string>
using namespace std;
// 遍历/迭代 索引的一半, 然后进行交换
void reverseArray(int array[], int len){
    for (int i = 0; i < len/2; i++) {
       int temp = array[i];
       array[i] = array[len-1-i];
       array[len-1-i] = temp;
    }
}
void printArray(int array[], int len){
    cout<<"[";
    for (int i = 0; i < len; i++) {
        if (i == len-1)
            cout<< array[i] <<"]"<<endl;
        else
            cout<<array[i] << ", ";
    }
}
int main (){
    int arr[] = {111, 222, 333, 444, 555, 6666, 777, 888};
    cout<< "逆序前" <<endl;
    printArray(arr, 8);

    reverseArray(arr, 8);

    cout<< "逆序后" <<endl;
    printArray(arr, 8);
    return 0;
}

数组求和

#include <iostream>
using namespace std;
void addArray(int array[],int len){
    if (len > 0){
        int sum = 0;
        for (int i = 0; i < len; ++i) {
            sum  += array[i];
        }
        cout<<sum<<endl;
    }else{
        cout<<"wrong"<<endl;
    }
}
int main(){
    int arr[] = {111, 222, 333, 444, 555, 6666, 777, 888};
    addArray(arr,8);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值