C语言每日一练——day_7

news2025/4/21 14:55:07

引言

        针对初学者,每日练习几个题,快速上手C语言。第七天。(连续更新中)

        采用在线OJ的形式

什么是在线OJ?

        在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用来测试参赛程序的在线系统,也可以用于平时的练习。

        详细内容可以看一下这篇博客:关于C/C++语言的初学者在哪刷题,怎么刷题-CSDN博客https://blog.csdn.net/2401_88433210/article/details/146056171?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

 建议从第一天开始做,前面讲了的知识点后面只是会提一下。有不懂的写再评论区里

        今天的题目都是一些找规律题,说实话,不是很好做,耐住性子找规律,可以锻炼代码能力

 1.翻转金字塔图案

        点进去直接做题:翻转金字塔图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/c4775776e4464537bfb6a5ba37c596c6?tpId=107&&tqId=33343&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>


//代码一: 比较难想,尽量想一下
#include <stdio.h>
int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        int i = 0;
        for (i = 0; i < n; i++)
        {
            //一行
            int j = 0;
            for (j = 0; j < i; j++)
            {
                printf(" ");
            }
            for (j = 0; j < n - i; j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
//代码二:
int main() {
    int a,b,c;
    while (scanf("%d", &a) != EOF)
    {
        for(b=a;b>0;b--)
        {
            c=a-b;
            while(c>0)
            {
                printf(" ");
                c--;
            }
            while(c<b)
            {
                printf("* ");
                c++;
            }
            printf("\n");
        }
    }
    return 0;
}

解析:

        1. 多组输入

        2. 控制好行数,控制好每一行前面的空格数

        3.一定要亲自敲出来,先找出规律再敲

2.菱形图案

        点进去直接做题:菱形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/8b935f8ffe99445dbd42494febd13e45?tpId=107&&tqId=33344&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        int i = 0;
        //上
        for (i = 0; i < n; i++)
        {
            //一行
            int j = 0;
            for (j = 0; j < n - i; j++)
            {
                    printf(" ");
            }
            for (j = 0; j <= i; j++)
            {
                printf("* ");
            }
            printf("\n");
        }
        //下
        for (i = 0; i <= n; i++)
        {
        //一行
        int j = 0;
        for (j = 0; j < i; j++)
        {
            printf(" ");
        }
        for (j = 0; j <= n - i; j++)
        {
            printf("* ");
        }
            printf("\n");
        }
    }
    return 0;
}

解析:

        1. 首先把菱形的打印分为上下2个部分

        2. 上下分别控制好行数和空格的个数

        3. 多组输入

        4. 一定要把规律想明白,自己把代码敲出来

3.K形图案

        点进去直接做题:

K形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/753cc2662d9949fe826a85f815db0ca4?tpId=107&&tqId=33345&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

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

解析:

        1. 多行输入

        2. 图形的打印分为上下2个部分

4.反斜线形图案

        点进去直接做题:

反斜线形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/7b066963c4eb4d188becd18c37dfe22d?tpId=107&&tqId=33347&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

int main(){
    int i;
    while(~scanf(" %d",&i)){//多组输入
    for(int j=0;j<i;j++)
    {//行
        for(int k=0;k<j;k++)//每一行需要输入的空格数
            printf(" ");
        printf("*\n");//最后输入*,换行。
    }
    }
    return 0;
}

 解析:看代码注释来理解

5.反斜线形图案

        点进去直接做题:

反斜线形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/7b066963c4eb4d188becd18c37dfe22d?tpId=107&&tqId=33347&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

int main(){
    int i;
    while(~scanf(" %d",&i))
    {                       //多组输入
    for(int j=0;j<i;j++)
    {                       //行
        for(int k=0;k<j;k++)//每一行需要输入的空格数
            printf(" ");
        printf("*\n");//最后输入*,换行。
    }
    }
    return 0;
}

解析:看代码注释

6.正斜线形图案

        点进去直接做题:正斜线形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/61ef68d129534dfbb04b232e1244e447?tpId=107&&tqId=33348&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

int main()
{
    int n;
    int i,j;
    while(~scanf("%d", &n))
    {
        for(i=0;i<n;++i)
        {
            for(j=i+1;j<n;++j)
            {
                printf(" ");
            }
            printf("*\n");
         
        }
    }
    return 0;
}

解析:找规律

7.X形图案

        点进去直接做题:

X形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/83d6afe3018e44539c51265165806ee4?tpId=107&&tqId=33349&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

int main()
{
    int n = 0;
    while(~scanf("%d",&n))
    {
     //n*n的数组,对角线初始化为*,其余初始化为‘ ’,最后打印这个二维数组
        char arr[20][20];
        int i = 0,j = 0;
        for(i = 0;i<n;i++)
        {
            for(j = 0;j<n;j++)
            {
                //主对角线
                if(i==j)
                {
                    arr[i][j] = '*';
                }
                //反对角线
                else if((i+j)==(n-1))
                {
                    arr[i][j] ='*';
                }
                else
                {
                    arr[i][j]=' ';
                }
                printf("%c",arr[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}

 解析:找规律

8.空心正方形图案

        点进去直接做题:

空心正方形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/72347ee949dc47399186ee183632f303?tpId=107&&tqId=33350&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#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==0||i==n-1||j==0||j==n-1)//找规律
                 printf("* ");
             else
                 printf("  ");
         }
         printf("\n");
      }
  }
}

 解析:找规律

9.空心三角形图案

        点进去直接做题:

空心三角形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/2ccc5fca423e47f0b622fe6f151cfab4?tpId=107&&tqId=33351&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
int main()
{
    int num,i,j;
    while(scanf("%d",&num)!=EOF)
    {
        for(i=0;i<num;i++)//行数
        {
            for(j=0;j<num;j++)//每行的打印
            {
                 if(j==0|i==num-1)//打印每一行的第一个*和最后一排
                     printf("* ");
                 else if(j==i&&i!=0)//从第二排开始每隔i个空打印一个*
                     printf("* ");
                else //其余的都打双空格
                    printf("  ");
            }
            printf("\n");//最后换下一行
        }
    }
    return 0;
}

解析:找规律

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

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

相关文章

Java使用FFmpegFrameGrabber进行视频拆帧,结合Thumbnails压缩图片保存到文件夹

引入依赖 <dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.17</version></dependency><dependency><groupId>org.bytedeco</groupId><artifactId>ja…

用hexo初始化博客执行hexo init时碰到的问题

用hexo初始化博客执行hexo init时碰到的问题 $ hexo init myblog INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git fatal: unable to access https://github.com/hexojs/hexo-starter.git/: SSL certificate problem: unable to get local issuer cer…

4.1--入门知识扫盲,ISO知识体系介绍(看一遍,协议啥的全部记住)

OSI七层模型&#xff1a;网络世界的"七重天"生存指南&#xff08;附快递小哥版图解&#xff09; “如果你觉得网络分层很抽象&#xff0c;那就想象自己在寄快递” —— 来自一个被三次握手逼疯的程序员 开场白&#xff1a;网络通信就像送外卖 假设你要给隔壁妹子送奶…

AI训练如何获取海量数据,论平台的重要性

引言&#xff1a;数据——AI时代的“新石油” 在人工智能和大模型技术飞速发展的今天&#xff0c;数据已成为驱动技术进步的 “ 燃料 ”。无论是训练聊天机器人、优化推荐算法&#xff0c;还是开发自动驾驶系统&#xff0c;都需要海量、多样化的数据支持。 然而&#xff0c;获…

Git 使用SSH登陆

一、SSH介绍 SSH连接相比于HTTP连接会简单一点&#xff0c;因为SSH连接通过了私钥与公钥进行身份认证&#xff0c;这样就不需要像HTTP一样&#xff0c;每次clone或者操作仓库都需要输入密码 其中私钥和密钥是需要在自己电脑上生成的&#xff0c;通过命令即可生成一个私钥和一个…

织梦DedeCMS修改文章【标题、短标题、关键词】长度限制

在后台虽然可以设置标题的长度&#xff0c;但是数据库的字段固定是60个字符&#xff0c;短标题是36字符&#xff0c;关键词30字符&#xff0c;所以这里教大家修改一下织梦DedeCMS修改【标题】【短标题】【关键词】长度限制 一、后台配置 1、进入dede后台管理 -> 系统 ->…

Powershell WSL部署ubuntu22.04.5子系统

前提条件WSL 安装 wsl 安装参考1wsl 安装csdn参考2wsl 百度网盘离线下载 本地目录安装ubuntu22.04.5 子系统 powershell 管理员打开执行(实现,下载安装ubuntu子系统,用户创建,远程ssh登录设置,防火墙端口开放)子系统IP 查看方法wsl

umi自带的tailwindcss修改为手动安装

1》为什么改为手动&#xff1f; 主要是为了解决这个报错问题&#xff0c;虽然重新运行也可解决&#xff0c;但是总是要运行2-3次&#xff0c;比较麻烦 2》如何手动 1&#xff0c;先在devDependencies下安装这两个包 pnpm install postcss8.5.1 -D "autoprefixer"…

麒麟V10 arm cpu aarch64 下编译 RocketMQ-Client-CPP 2.2.0

国产自主可控服务器需要访问RocketMQ消息队列&#xff0c;最新的CSDK是2020年发布的 rocketmq-client-cpp-2.2.0 这个版本支持TLS模式。 用默认的版本安装遇到一些问题&#xff0c;记录一下。 下载Releases apache/rocketmq-client-cpp GitHubhttps://github.com/apache/roc…

使用码云搭建CocoaPods远程私有库

一、创建远程私有索引库 用来存放私有框架的详细描述信息.podspec文件 1. 创建私有库 假设码云上创建的私有库为repo-spec 2. 查看本地已存在的索引库 pod repo list 3. 将远程私有索引库添加到本地 pod repo add [https://gitee.com/jingluoguo/repo-spec.git](https://gi…

专访LayaAir引擎最有价值专家-施杨

在 LayaAir 引擎的资源商店中&#xff0c;许多开发者都会注意到一个熟悉的名字——“射手座”。他不仅贡献了大量高质量的 Shader 资源&#xff0c;让一些开发者通过他的作品了解到 LayaAir 引擎在 3D 视觉效果上的更多可能&#xff0c;也让大家能够以低成本直接学习并应用这些…

自然语言处理:文本聚类

介绍 大家好&#xff0c;博主又来和大家分享自然语言处理领域的知识了。今天给大家分享的内容是自然语言处理中的文本聚类。 文本聚类在自然语言处理领域占据着重要地位&#xff0c;它能将大量无序的文本按照内容的相似性自动划分成不同的类别&#xff0c;极大地提高了文本处…

RabbitMQ 集群降配

这里写自定义目录标题 摘要检查状态1. 检查 RabbitMQ 服务状态2. 检查 RabbitMQ 端口监听3. 检查 RabbitMQ 管理插件是否启用4. 检查开机自启状态5. 确认集群高可用性6. 检查使用该集群的服务是否做了断开重连 实操1. 负载均衡配置2. 逐个节点降配&#xff08;滚动操作&#xf…

数据结构:二叉树(一)·(重点)

前言 什么树&#xff1f;what&#xff1f; 树的概念与结构 概念&#xff1a; 树是⼀种⾮线性的数据结构&#xff0c;它是由 n &#xff08; n>0 &#xff09; 个有限结点组成⼀个具有层次关系的集合。 结构&#xff1a; 有⼀个特殊的结点&#xff0c;称为根结点&#…

DevEco Studio的使用

目录 1.创建ArkTS工程 2.ArkTS工程目录结构&#xff08;Stage模型&#xff09; 构建第一个页面 构建第二个页面 实现页面间的跳转 1.创建ArkTS工程 若首次打开DevEco Studio&#xff0c;请点击Create Project创建工程。如果已经打开了一个工程&#xff0c;请在菜单栏选择…

数据开发岗笔试题>>sql(hive) ,excel [2025]

sql SELECT user_id, AVG(loan_amount) AS avg_loan_amount FROM loan GROUP BY user_id HAVING AVG(loan_amount) > 20000; 授信表&#xff1a;credit 字段包含user_id(用户id)&#xff0c;credit_id(授信id)&#xff0c;credit_time(授信时间yyyy-MM-dd HH:mm:ss)&#x…

OpenGL ES 入门指南:从基础到实战

引言&#xff1a;为什么需要 OpenGL ES&#xff1f; 在当今的嵌入式设备&#xff08;如智能手机、汽车仪表盘、智能家居中控屏&#xff09;中&#xff0c;流畅的图形渲染能力是用户体验的核心。OpenGL ES&#xff08;OpenGL for Embedded Systems&#xff09; 作为行业标准&am…

docker安装milvus向量数据库Attu可视化界面

Docker 部署 Milvus 及 Attu 可视化工具完整指南 一、环境准备 安装 Docker 及 Docker Compose Docker 版本需 ≥20.10.12Docker Compose 版本需 ≥2.20.0&#xff08;推荐 V2&#xff09; 验证 Docker 环境 docker --version && docker-compose --version若出现&…

ArcGIS10. 8简介与安装,附下载地址

目录 ArcGIS10.8 1. 概述 2. 组成与功能 3. 10.8 特性 下载链接 安装步骤 1. 安装准备 2. 具体步骤 3.补丁 其他版本安装 ArcGIS10.8 1. 概述 ArcGIS 10.8 是由美国 Esri 公司精心研发的一款功能强大的地理信息系统&#xff08;GIS&#xff09;平台。其核心功能在于…

Idea中使用Git插件_合并当前分支到master分支_冲突解决_很简单---Git工作笔记005

由于之前用svn习惯了,用的git少,其实在idea中使用git,解决冲突,合并分支,非常的简单,一起来看一下吧. 一定要注意操作之前,一定要确保自己的分支代码,都已经commit提交了,并且push到远程了. 不要丢东西. 可以看到首先,在idea的左下角有个 git,点开以后 可以看到有显示的分支…