牛客网刷题笔记小节(二)

简介: 牛客网刷题笔记小节(二)

一、一维数组

1.关于一维数组初始化,下面哪个定义是错误的?

A.int arr[10] = {1,2,3,4,5,6};

B.int arr[] = {1,2,3,4,5,6};

C.int arr[] = (1,2,3,4,5,6);

D.int arr[10] = {0};

答案解析:

A:正确,10个int的一段连续空间,前6个位置被初始化为1,2,3,4,5,6,其他位置为0

B:正确,数组中有6个空间,并被初始化为1,2,3,4,5,6

C:错误,数组的初始化不能使用(),只能使用{}

D:正确,10个int类型的一段连续空间,每个位置都被初始化为0

因此,选择C

1.2.定义了一维 int 型数组 a[10] 后,下面错误的引用是 ?

A.a[0] = 1;

B.a[0] = 5*2;

C.a[10] = 2;

D.a[1] = a[2] * a[0];

答案解析:


数组是相同类型的一段连续的空间,下标是从0开始的,比如:int array[N]

下标的范围为[0,N),其中N位置不能存储有效元素

A:正确,将0号位置设置为1

B:正确,将0号位置设置为10

C:错误,越界

D:正确,1号位置初始化为a[2]*a[0]之后的结果

因此,选择C

1.3下面代码的结果是?

#include <stdio.h>
int main()
{
    int arr[] = {1,2,(3,4),5};
    printf("%d\n", sizeof(arr));
    return 0;
}

A.4

B.16

C.20

D.5

答案解析:

对于int arr[] = {1,2,(3,4),5}数组,里面总共有4个元素,(3,4)为逗号表达式,取后者,因此数组中元素分别为:1,2,4,5

而sizeof(arr)求的是整个数组所占空间的大小,即:4sizeof(int)=44=16

因此,选择B

1.4 在C语言中,以下哪个选项描述了变长数组(Variable Length Array,VLA)的特点?

A.变长数组的大小在编译时确定,不能改变。

B.变长数组的大小可能在运行时确定,比如使用变量来指定数组大小,一旦确定大小后,它的大小是固定的,无法改变。

C.一旦确定大小后,它的大小是固定的,无法改变

D.变长数组只能用于存储字符类型的数据。

变长数组( variable-length array),C语言术语,也简称VLA。是指用 整型变量或表达式声明或定义的数组 ,而不是说数组的长度会随时变化,变长数组在其生存期内的长度同样是固定的 。

代码示例:

int n;
scanf ("%d", &n);
int array[n];

注意上述语法在C99之前是不支持的。

A选项错误:编译时无法确定,编译时候编译器不知道n是什么值,n的值要等到程序运行起来后,用户输入之后n的值确定了,才能确定数组的大小

B选项:说法不严谨,一定是在运行时确定大小的,而不是可能

C选项正确

D选项错误:存储什么类型数据,看定义时候给数组名前放什么类型,比如int a[n]就是存放int类型 short a[n]就是存在short类型

二、图案打印

2.1 牛客网–>[X形图案]

-------------------------------------------------->X形图案


输入描述:多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

输出描述:

针对每行输入,输出用“*”组成的X形图案。

输入:

5

输出:

#include <stdio.h>
int main()
{
    int n = 0;
    while(scanf("%d", &n) != EOF)
    {
        int i = 0;
        int j = 0;
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            {
                if(i == j)
                    printf("*");
                else if(i+j == n-1)//因为行和列是从0开始的
                    printf("*");
                else
                    printf(" ");
            }
            printf("\n");
        }
    }
    return 0;
}

2.1 牛客网–>[空心正方形图案]


-------------------------------------------------->空心正方形图案

输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“”的数量。
输出描述:
针对每行输入,输出用“
”组成的“空心”正方形,每个“*”后面有一个空格。

#include <stdio.h>
int main()
{
    int n = 0;
    while(scanf("%d", &n) != EOF)
    {
        int i = 0;
        int j = 0;
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            {
                if(i==0 || i==n-1)
                    printf("* ");
                else if(j==0 || j==n-1)
                    printf("* ");
                else
                    printf("  ");
            }
            printf("\n");
        }
    }
    return 0;
}

每天坚持不懈地练习,你将不断进步!祝愿你每天充满活力、元气满满哦!

相关文章
|
SQL Apache 调度
Apache Hudi在腾讯的落地与应用
Apache Hudi在腾讯的落地与应用
303 3
|
存储 Unix 程序员
面试题:Ctrl + C在不同操作系统下的应用
字节跳动面试题:Ctrl + C在不同操作系统下的应用
408 1
|
11月前
|
移动开发 搜索推荐 UED
HTML5的新语义化标签
HTML5引入的这些新语义化标签,通过明确标识内容的结构和意义,使得网页结构更加清晰,易于理解和维护。使用这些标签不仅提升了网页的可读性和可访问性,还增强了搜索引擎和辅助技术对网页内容的解析能力。在实际开发中,合理使用这些语义化标签,能够显著提升网页的质量和用户体验。
295 49
|
Ubuntu Shell
ubuntu追加path环境变量
以上是追加PATH环境变量的方法。不同的方法适用于不同的应用场景,你可以根据自己的需求选择适合的方法。需要注意的是,在对系统文件进行更改时,一定要确保正确无误,避免系统的命令路径出错导致不必要的麻烦。
573 3
ubuntu追加path环境变量
|
Rust 前端开发 JavaScript
探索前端技术的新趋势:WebAssembly的崛起
【2月更文挑战第11天】在Web开发的领域中,JavaScript一直占据着主导地位,但随着WebAssembly(简称Wasm)的出现,前端开发的边界正在被重新定义。本文将深入探讨WebAssembly的核心优势,如何与传统的JavaScript生态系统协同工作,以及它如何为前端开发带来革命性的性能提升和更广阔的应用前景。通过具体案例分析,我们将展示WebAssembly在实际项目中的应用,为前端开发者提供全新的视角和思考路径。
|
JavaScript
js中toFixed 并不是你想的那样进行四舍五入
js中toFixed 并不是你想的那样进行四舍五入
|
传感器 算法 计算机视觉
【状态估计】基于卡尔曼滤波器的传感器直流电机驱动研究(Matlab代码、Simulink
【状态估计】基于卡尔曼滤波器的传感器直流电机驱动研究(Matlab代码、Simulink
249 0
|
人工智能 Cloud Native 安全
带你读《云原生机密计算最佳实践白皮书》——Inclavare Containers: 面向机密计算场景的开源容器运行时技术栈
带你读《云原生机密计算最佳实践白皮书》——Inclavare Containers: 面向机密计算场景的开源容器运行时技术栈
468 0
|
安全 网络安全 开发工具
【已解决】Unable to negotiate with 47.98.49.44 port 22: no matching host key type found. Their offer: ssh
Unable to negotiate with 47.98.49.44 port 22: no matching host key type found. Their offer: ssh
726 0
【已解决】Unable to negotiate with 47.98.49.44 port 22: no matching host key type found. Their offer: ssh
递归题目练习---数独问题
递归题目练习---数独问题
143 0
递归题目练习---数独问题