【C++百日刷题计划】Day2~数组的使用(请编程计算下列给出的二维数组周边元素之和)

简介: 【C++百日刷题计划】Day2~数组的使用(请编程计算下列给出的二维数组周边元素之和)

文章目录

🏠🏠🏠前言:

一、今日习题以及答案

习题要求:

习题分析:

习题答案:

二、C++今日拓展内容:

✨✨​​​​​拓展一:

实例一:

✨✨拓展二:

实例一:

✨​​​​​​​✨​​​​​​​拓展三:

实例一:

实例二:做个简陋的生日蛋糕:

🏠​​​​​​​🏠​​​​​​​🏠结语:


一、今日习题以及答案

习题要求:

请编程计算下列给出的二维数组周边元素之和:

        1        3        5        7        9

        2        9        9        9        4

        6        9        9        9        8

        1        3        5        7        0

习题分析:

第一步、理解题意周边元素之和就是红色部分的数字的和

        1        3        5        7        9

        2        9        9        9        4

        6        9        9        9        8

        1        3        5        7        0

第二步、找出周边元素在数组(假设数组为aM;易知该二维数组为四行五列所以M = 4,N = 5)中的位置的规律然后进行依次相加求和

int i,j,sum = 0;
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
            if(i==0||i==M-1||j==0||j==N-1)
                sum = sum+a[i][j];

第三步、结合第一步和第二步编写代码

✨习题答案:

#include <iostream.h>
#include <iomanip.h>
#define M 4
#define N 5
int func(int a[M][N])//定义一个求二维数组周边元素之和的函数
{
    int i,j,sum = 0;
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
            if(i==0||i==M-1||j==0||j==N-1)
                sum = sum+a[i][j];
    return sum;
}
void main()
{
    int a[M][N] = {{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};
    int i,j,sum;
    cout<<"\n原始数据是:"<<endl;
    /*以下代码是打印出二维数组*/
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
            cout<<setw(4)<<a[i][j];
            cout<<"\n";
    }
    sum = func(a);
    cout<<"\n二维数组1周边元素之和为:"<<endl;
    cout<<setw(4)<<sum<<endl;
}

以下是运行结果的图片:

二、C++今日拓展内容:

✨​​​​​​​✨​​​​​​​拓展一:

C++中system("pause")是什么作用和意思?

        system("pause")意思就是让程序暂停一下,然后按任意键继续,最多见于程序的末尾处,用于看运行结果,避免程序一闪而过。相同的我们还可以用getchar(),避免程序运行完直接结束而看不到运行结果。

注意:在VC 6.0下,要添加如下头文件否则代码会报错:

#include <stdlib.h>

实例一:

✨​​​​​​​✨​​​​​​​拓展二:

C++中system("cls") 是什么作用和意思?

        当你编写的程序有输出的时候,如果要进行多次调试,屏幕上会显示很多次的输出的结果,看上去非常的复杂非常的乱。那么我们就可以在程序中的输出语句之前加上system("CLS");”,“当我们用上这条语句之后。这样每次程序运行的时候都会将上一次运行输出的内容给清除掉,屏幕上只显示本次输出的结果。这样看起来就非常的简洁。

注意:在VC 6.0下,要添加如下头文件否则代码会报错:

#include <stdlib.h>

实例一:

​编辑

✨​​​​​​​✨​​​​​​​拓展三:

C++中system("color") 是什么作用和意思?

        如system("color 0A")或system("color D"),其中color后面的0是背景色代号,A是前景色代号。各颜色代号如下:

0 = 黑色       8 = 灰色
1 = 蓝色       9 = 淡蓝色
2 = 绿色       A = 淡绿色
3 = 湖蓝色     B = 淡浅绿色
4 = 红色       C = 淡红色
5 = 紫色       D = 淡紫色
6 = 黄色       E = 淡黄色
7 = 白色       F = 亮白色 

注意:在VC 6.0下,要添加如下头文件否则代码会报错:

#include <stdlib.h>

实例一:

✨实例二:做个简陋的生日蛋糕:

#include<iostream>
#include<windows.h>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
    while(1){
    system("color D");
    cout<<"    |_|_|_|_|"<<endl;
    cout<<" _|  生日快乐 |_"<<endl;
    cout<<"|_______________|";
    Sleep(1000);
    system("cls");
    system("color E");
    cout<<"   _|_|_|_|_|_"<<endl;
    cout<<" _| 生日快乐 |_"<<endl;
    cout<<"|_______________|";
    Sleep(1000);
    system("cls");
    system("color A");
    cout<<"   _|_|_|_|_|_"<<endl;
    cout<<" _| 生日快乐 |_"<<endl;
    cout<<"|_______________|";
    Sleep(1000);
    system("cls");
    system("color B");
    cout<<"   _|_|_|_|_|_"<<endl;
    cout<<" _| 生日快乐 |_"<<endl;
    cout<<"|_______________|";
    Sleep(1000);
    system("cls");
}
}

运行样图:

相关文章
|
25天前
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
1月前
|
存储 机器学习/深度学习 编译器
【C++终极篇】C++11:编程新纪元的神秘力量揭秘
【C++终极篇】C++11:编程新纪元的神秘力量揭秘
|
25天前
|
存储 算法 C++
深入浅出 C++ STL:解锁高效编程的秘密武器
C++ 标准模板库(STL)是现代 C++ 的核心部分之一,为开发者提供了丰富的预定义数据结构和算法,极大地提升了编程效率和代码的可读性。理解和掌握 STL 对于 C++ 开发者来说至关重要。以下是对 STL 的详细介绍,涵盖其基础知识、发展历史、核心组件、重要性和学习方法。
|
25天前
|
存储 安全 算法
深入理解C++模板编程:从基础到进阶
在C++编程中,模板是实现泛型编程的关键工具。模板使得代码能够适用于不同的数据类型,极大地提升了代码复用性、灵活性和可维护性。本文将深入探讨模板编程的基础知识,包括函数模板和类模板的定义、使用、以及它们的实例化和匹配规则。
|
2月前
|
存储 算法 搜索推荐
【C++面向对象——群体类和群体数据的组织】实现含排序功能的数组类(头歌实践教学平台习题)【合集】
1. **相关排序和查找算法的原理**:介绍直接插入排序、直接选择排序、冒泡排序和顺序查找的基本原理及其实现代码。 2. **C++ 类与成员函数的定义**:讲解如何定义`Array`类,包括类的声明和实现,以及成员函数的定义与调用。 3. **数组作为类的成员变量的处理**:探讨内存管理和正确访问数组元素的方法,确保在类中正确使用动态分配的数组。 4. **函数参数传递与返回值处理**:解释排序和查找函数的参数传递方式及返回值处理,确保函数功能正确实现。 通过掌握这些知识,可以顺利地将排序和查找算法封装到`Array`类中,并进行测试验证。编程要求是在右侧编辑器补充代码以实现三种排序算法
52 5
|
2月前
|
Serverless 编译器 C++
【C++面向对象——类的多态性与虚函数】计算图像面积(头歌实践教学平台习题)【合集】
本任务要求设计一个矩形类、圆形类和图形基类,计算并输出相应图形面积。相关知识点包括纯虚函数和抽象类的使用。 **目录:** - 任务描述 - 相关知识 - 纯虚函数 - 特点 - 使用场景 - 作用 - 注意事项 - 相关概念对比 - 抽象类的使用 - 定义与概念 - 使用场景 - 编程要求 - 测试说明 - 通关代码 - 测试结果 **任务概述:** 1. **图形基类(Shape)**:包含纯虚函数 `void PrintArea()`。 2. **矩形类(Rectangle)**:继承 Shape 类,重写 `Print
59 4
|
5月前
|
安全 程序员 编译器
【实战经验】17个C++编程常见错误及其解决方案
想必不少程序员都有类似的经历:辛苦敲完项目代码,内心满是对作品品质的自信,然而当静态扫描工具登场时,却揭示出诸多隐藏的警告问题。为了让自己的编程之路更加顺畅,也为了持续精进技艺,我想借此机会汇总分享那些常被我们无意间忽视却又导致警告的编程小细节,以此作为对未来的自我警示和提升。
791 18
|
4月前
|
消息中间件 存储 安全
|
25天前
|
编译器 C++ 开发者
【C++篇】深度解析类与对象(下)
在上一篇博客中,我们学习了C++的基础类与对象概念,包括类的定义、对象的使用和构造函数的作用。在这一篇,我们将深入探讨C++类的一些重要特性,如构造函数的高级用法、类型转换、static成员、友元、内部类、匿名对象,以及对象拷贝优化等。这些内容可以帮助你更好地理解和应用面向对象编程的核心理念,提升代码的健壮性、灵活性和可维护性。
|
4天前
|
设计模式 安全 C++
【C++进阶】特殊类设计 && 单例模式
通过对特殊类设计和单例模式的深入探讨,我们可以更好地设计和实现复杂的C++程序。特殊类设计提高了代码的安全性和可维护性,而单例模式则确保类的唯一实例性和全局访问性。理解并掌握这些高级设计技巧,对于提升C++编程水平至关重要。
34 16