牛客网基础语法111~120题

news2024/11/25 8:12:23

牛客网基础语法111~120题😘😘😘

💫前言:今天是咱们第十一期刷牛客网上的题目。
💫目标:能使用数组来解决问题。
💫鸡汤:一张纸对折就能站立。先干为敬,大家随意。

🚩第一题

在这里插入图片描述

💦后面的几道题都类似,只要大家掌握好打印星号的方法就行

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

🚩第二题

在这里插入图片描述

#include <stdio.h>
int main()
{
    int n = 0;
    //多组输入
    while ((scanf(" %d", &n)) != EOF)
    {
        //控制行
        for (int i = 0; i < n; i++)
        {
            //控制列
            for (int j = 0; j < n; j++)
            {
                //控制打印
                if (i == n - 1 || j == 0 || i == j)
                {
                    printf("* ");
                }
                else
                {
                    printf("  ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

🚩第三题

在这里插入图片描述

💦这里和杨辉三角的打印很相似,写完这到题目可以去写写杨辉三角。

#include <stdio.h>
int main()
{
   int n = 0;
   //多组输入
   while ((scanf("%d", &n)) != EOF)
   {
       //控制行数
       for (int i = 1; i <= n; i++)
       {
           //打印一行
           for (int j = 1; j <= i; j++)
           {
               printf("%d ", j);
           }
           printf("\n");
       }
   }
   return 0;
}

🚩第四题

在这里插入图片描述

#include<stdio.h>

int main() 
{
    //初始化
    int a, i, j;
    //输入
    scanf("%d", &a);
    //d为开始的前面的空格数
    int d = 3 * a;     
    for (i = 0; i < a; i++) 
    {
        for (j = d - 1; j > 0; j--)
            printf(" ");
        for (j = 0; j < i + 1; j++)
            printf("*     ");//5个空格
        printf("\n");            //打印第一行
        for (j = d - 2; j > 0; j--)
            printf(" ");
        for (j = 0; j < i + 1; j++)
            printf("* *   "); //* *和三个空格组成控制
        printf("\n");            //打印第二行
        for (j = d - 3; j > 0; j--)
            printf(" ");
        for (j = 0; j < i + 1; j++)
            printf("* * * ");
        printf("\n");            //打印第三行
        d -= 3;
    }
    for (i = 0; i < a; i++) 
    {
        for (j = 0; j < 3 * a - 1; j++)
            printf(" ");
        printf("*\n");
    }
    return 0;
}

🚩第五题

在这里插入图片描述

💦这道题真的恶心人,希望大家能耐心敲完这道题。

#include<stdio.h>
#include<math.h>
int main()
{
    char arr[800][800] = { 0 };
    int n = 0;
    scanf("%d", &n);
    int y = 3*pow(2,n-1)-1;//y表示顶点在第一行的下标值
    arr[0][y] = '*';
    arr[1][y-1] = '*';
    arr[1][y+1] = '*';
    arr[2][y-2] = '*';
    arr[2][y+2] = '*';
    arr[2][y] = '*';
    //第一次循环,将[最上面的最小的三角形]赋值到对应其[左下的三角形]位置和[右下的三角形]位置
    //如果有第二次循环,则将由[三个小三角形构成的三角形]赋值到左下和右下。
    for (int i = 1; i < n; i++)//n表示复制n-1次
    {
        int rang = (3 * pow(2, i - 1) - 1);
        for (int x1 = 0; x1 <= rang; x1++)
        {
            for (int y1 = y - rang; y1 <= y + rang; y1++)
            {
                arr[x1 + rang + 1][y1 - rang - 1] = arr[x1][y1];
            }
        }
        for (int x1 = 0; x1 <= rang; x1++)
        {
            for (int y1 = y - rang; y1 <= y + rang; y1++)
            {
                arr[x1 + rang + 1][y1 + rang + 1] = arr[x1][y1];
            }
        }
    }
    //打印树叶
    for (int i = 0; i <= 3 * pow(2, n-1)-1; i++)
    {
        for (int j = 0; j <= 3 * pow(2, n) - 2; j++) 
        {
            if (arr[i][j] == '*')
                printf("%c", arr[i][j]);
            else
                printf(" ");
        }
        printf("\n");
    }
    //打印树干
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < y; j++)
            printf(" ");
        printf("*\n");
    }
    return 0;
}

🚩第六题

在这里插入图片描述

#include <stdio.h>
int main() 
{
    //初始化
    int n = 0;
    int x = 0;
    //输入
    scanf("%d %d",&n,&x);
    int i = 0;
    int count = 0;
    //循环
    for(i = 1;i <= n;i++)
    {
        //这里防止i改变
        int m = i;
        while(m)
        {
            if(m % 10 == x)
            {
                count++;
            }
            m /= 10;
        }
    }
    //输出
    printf("%d\n",count);
    return 0;
}

🚩第七题

在这里插入图片描述

💦当然这里可以采用逆序法,这里用了一些技巧。

#include <stdio.h>
int main() 
{
    //定义数组
    int arr[10] = {0};
    //输入
    for(int i = 0;i <= 9;i++)
    {
        scanf("%d",&arr[i]);
    }
    //逆序
    for(int i = 9;i >= 0;i--)
    {
        printf("%d ",arr[i]);
    }
    return 0;
}

🚩第八题

在这里插入图片描述

#include <stdio.h>
int main() 
{
    //初始化
    int N = 0;
    int num = 0;
    int sum = 0;
    //输入
    scanf("%d",&N);
    for(int i = 0;i < N;i++)
    {
        scanf("%d",&num);
        //统计
        sum = sum + num;
    }
    printf("%d\n",sum);
    return 0;
}

🚩第九题

在这里插入图片描述

#include <stdio.h>
int main() 
{
    //初始化
    int arr[101] = {0};
    int n = 0;
    //输入
    scanf("%d",&n);
    for(int i = 0;i < n;i++)
    {
        scanf("%d",&arr[i]);
    }
    //定义最大值,最小值
    int max = arr[0];
    int min = arr[0];
    for(int i = 0;i < n;i++)
    {
        if(arr[i] > max)
            max = arr[i];
        if(arr[i] < min)
            min = arr[i];
    }
    int sum = max - min;
    printf("%d\n",sum);
    return 0;
}

🚩第十题

在这里插入图片描述

#include<stdio.h>
int main() 
{
    int arr[40] = { 0 };
    int num = 0;
    scanf("%d", &num);//输入几名
    for (int k = 0; k <= num; k++) 
    {   //输入成绩
        scanf("%d", &arr[k]);
    }
    int temp = 0;
    for (int i = 0; i < num; i++) 
    {   //第i位为最大数
        for (int j =i+1; j<num; j++) 
        {   //从第i+1位开始遍历剩余数
            if (arr[j] > arr[i]) 
            {   //存在大于最大数的数
                temp = arr[i];//把最大数和比较数进行交换
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
    for (int k = 0; k < 5; k++)
        printf("%d ", arr[k]);
    return 0;
}

🎉结束语

今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。麻烦大家举起自己的小手,给博主三连,有你们的支持就是我最大的动力。预知后事如何,且听下回分解。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718773.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自定义MVC框架实现增删改查

目录 一、环境搭建 二、导入配置文夹 1.中央控制器xml 2.增删改配置文件 3.导入工具类 三、编写后端代码 1. 通用增删改查 2. BookDao类 3. book实现增删改查类 4. 分页助手类 四、编写前端代码 1. 数据显示主界面 2. 默认运行显示所有数据servlet 3. 新增、修改共用…

解决uni-app微信小程序底部输入框,键盘弹起时页面整体上移问题

存在问题 做了一个记录页面&#xff08;类似单方聊天页&#xff09;&#xff0c;输入框在底部&#xff1b;当弹出键盘时&#xff0c;页面整体上移&#xff0c;页面头信息会消失不见 需要实现效果&#xff1a; 比如一个记录页面&#xff0c;需要在键盘弹出时&#xff1a; 底…

解析ASEMI代理海矽美快恢复二极管SFP6012A的性能与应用

编辑-Z 在电子元件领域&#xff0c;快恢复二极管是一种重要的半导体器件&#xff0c;它在电路中起到关键的保护和控制作用。今天&#xff0c;我们将重点介绍一款优秀的快恢复二极管——SFP6012A&#xff0c;深入探讨其性能特点和应用领域。 一、SFP6012A快恢复二极管的性能特点…

chatglm docker镜像,一键部署chatglm本地知识库

好久没有写文章了&#xff0c;今天有空&#xff0c;记录一下chatglm本地知识库的docker镜像制作过程。 核心程序是基于“闻达”开源项目&#xff0c;稍作改动。 制作镜像&#xff1a; docker tag chatglm:v1 ch1949/chatglm:latest docker push ch1949/chatglm:latest 使用 …

性能测试小白‘壁咚’~~~

很多时候&#xff0c;我们都知道软件有黑白盒测试&#xff0c;但往往还遗漏掉了一个性能测试。 性能测试种类&#xff1a; 负载测试压力测试并发测试配置测试可靠性测试容量测试 1、负载测试 &#xff08;1&#xff09;定义 负载测试是指逐步增加系统负载&#xff0c;测试系统…

NSS [SWPUCTF 2021 新生赛]easy_md5

NSS [SWPUCTF 2021 新生赛]easy_md5 先看题目&#xff0c;md5弱比较&#xff0c;可以0e&#xff0c;数组&#xff0c;或者强碰撞。 payload&#xff1a; GET&#xff1a; ?name[]1 POST&#xff1a;password[]7

【面试系列】八股文之线程篇202306

union all和union的区别 union all&#xff1a;包含重复行 union&#xff1a;不包含重复行 线程池的shutdown()与shutdownNow()方法的区别 shutdown()&#xff0c;调用shutdown方法&#xff0c;线程池会拒绝接收新的任务&#xff0c;处理中的任务和阻塞队列中的任务会继续处…

redis基础及哨兵集群部署、故障切换

一、概述 Redis是一个开源的&#xff0c;使用C语言编写&#xff0c;支持网络&#xff0c;可基于内存工作亦可持久化&#xff08;AOF、RDB&#xff09;的日志型&#xff0c;key-values&#xff08;键值对&#xff09;数据库&#xff0c;一个速度极快的非关系型数据库&#x…

R语言APSIM模型及批量模拟

随着数字农业和智慧农业的发展&#xff0c;基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。 APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物…

Python 数据类型转换

文章目录 每日一句正能量前言隐式类型转换实例实例 显式类型转换实例实例实例实例 每日一句正能量 在人生的道路上&#xff0c;即使一切都失去了&#xff0c;只要一息尚存&#xff0c;你就没有丝毫理由绝望。因为失去的一切&#xff0c;又可能在新的层次上复得。 前言 有时候&…

HOT41-二叉树的层序遍历

leetcode原题链接&#xff1a;二叉树的层序遍历 题目描述 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&…

redis如何实现持久化

RDB快照 RDB是一种快照存储持久化方式&#xff0c;具体就是将Redis某一时刻的内存数据保存到硬盘的文件当中&#xff0c;默认保存的文件名为dump.rdb&#xff0c;而在Redis服务器启动时&#xff0c;会重新加载dump.rdb文件的数据到内存当中恢复数据。 开启RDB持久化方式 开启…

Vue生态及实践 - Vue Router(2)

目录 导航守卫 解析流程 代码演示 router.js pages/Foo.vue router/router.js router/history/base.js router/util/async.js router/components/RouterView.vue 接上一篇文章~&#xff0c;代码部分会有部分重叠&#xff0c;想看完整版的代码&#xff0c;看这篇文章的…

END-TO-END OPTIMIZED IMAGE COMPRESSION论文阅读

END-TO-END OPTIMIZED IMAGE COMPRESSION 文章目录 END-TO-END OPTIMIZED IMAGE COMPRESSION单词重要不重要 摘要&#xff1a; 单词 重要 image compression 图像压缩 quantizer 量化器 rate–distortion performance率失真性能 不重要 a variant of 什么什么的一个变体 …

大数据之flink容错机制

大数据之flink容错机制https://blog.51cto.com/dashujutongmeng/5241407

Spring Batch 批处理框架

一、SpringBatch 介绍 Spring Batch 是一个轻量级、全面的批处理框架&#xff0c;旨在支持开发对企业系统的日常操作至关重要的健壮的批处理应用程序。Spring Batch 建立在人们期望的 Spring Framework 特性&#xff08;生产力、基于 POJO 的开发方法和一般易用性&#xff09;…

从零开始 Spring Boot 60:一个实体映射到多个表

从零开始 Spring Boot 60&#xff1a;一个实体映射到多个表 图源&#xff1a;简书 (jianshu.com) 在之前的文章中我们讨论了 JPA 中的一对一关系&#xff0c;实际上存在一种特殊的一对一关系&#xff0c;即将一个实体映射到多张表&#xff0c;本文会讨论这种关系。 我之前提过…

elementui实现表格自定义排序

需求说明&#xff1a; 1、第一行不参与排序 2、实现带%排序 3、实现null值排序 4、实现值相等不排序 5、实现含有占位符‘–‘排序放到最后 效果图如下&#xff1a; <template> <div><template><el-table border :data"previewTableData" style…

ROS学习之从yaml文件中读取多传感器坐标系之间的静态TF关系并发布Topic

文章目录 0 引言1 工作空间创建并初始化2 创建ROS程序包3 创建yaml读取函数3.1 yaml文件3.2 读取函数 4 创建静态TF关系的发布主函数5 创建launch文件6 编辑CMakeLists.txt7 编译运行7.1 编译7.2 运行 0 引言 机器人中经常使用多种传感器来做定位和建图&#xff0c;而多个传感…

找出一个List中每个元素出现的次数

文章目录 一、需求&#xff1a;找出一个list中&#xff0c;每个元素出现的次数1. 普通实现&#xff08;hashmap&#xff09;&#xff1a;1.1 代码实现&#xff1a;1.2运行结果&#xff1a;1.3 案例分析&#xff1a; 2. 普通实现&#xff08;HashSet#Collections.frequency&…