牛客网刷题 | BC80 奇偶统计

news2024/11/25 12:35:19

目前主要分为三个专栏,后续还会添加:

        专栏如下:                 C语言刷题解析       C语言系列文章       我的成长经历

感谢阅读!

初来乍到,如有错误请指出,感谢!


描述

任意输入一个正整数N,统计1~N之间奇数的个数和偶数的个数,并输出。

输入描述:

一行,一个正整数N。(1≤N≤100,000)

输出描述:

一行,1~N之间奇数的个数和偶数的个数,用空格分开。


思路 : 

 用户输入数字

然后遍历数字

判断是奇数还是偶数就行

用一个变量来进行统计

如果是的话就++

读取输入:首先,你需要从输入中读取一个正整数N。

计数:然后,你可以初始化两个计数器,一个用于奇数,一个用于偶数。

循环遍历:接着,使用一个循环从1遍历到N(包括N),对于每个数字:

如果数字除以2的余数为0,那么它是一个偶数,增加偶数计数器。

如果余数不为0,那么它是一个奇数,增加奇数计数器。

输出结果:最后,输出奇数和偶数的计数。


代码 1 :

# include <stdio.h>
int main ()

{
    int n;

    scanf("%d",&n);
    if(n>= 1&& n<= 100000)//只有在这个范围内才继续
    {
        int Odd_number = 0;
        int even_number = 0;
        int i = 1;
        for(i=1;i<=n;i++)
        {

        //printf("%d",i); //后面调试后发现多此一举
        // int Odd_number = 0;
        // int even_number = 0;
        //上面两个定义变量需要放在for循环之外
         
            if(i%2==0)//判断偶数、否则为奇数
            //当一个数取模2为0的话 就走到这一步 然后就++
            {
                even_number++;//偶数 的话就 ++
            }
            else
            //否则 就 这边 ++
            {
               Odd_number++;//奇数  的话就 ++
            }
            //printf("%d %d",Odd_number,even_number);//error
        }
        printf("%d %d",Odd_number,even_number);
        //这句代码需要放在if判断外 不然在里面的话就会一直打印一直打印
    }
    else
    {
        printf("输入错误\n");
    }
    return 0;
}

代码 2 :

#include<stdio.h>
int main()
{
    
    int N;
    int counta=0;  //存放奇数个数
    int countb=0;  //存放偶数个数
    scanf("%d",&N);
    for(int i=1;i<=N;i++)
    {
        if(i%2==0)   //偶数
    
            countb++;
        else
            counta++;

    }
    printf("%d %d",counta,countb);
    
}

 代码 3: 

AI写的

#include <stdio.h>

int main() 
{
    int N, i;
    int odd_count = 0; // 奇数计数器
    int even_count = 0; // 偶数计数器

    // 读取用户输入的正整数N
    scanf("%d", &N);

    // 遍历1到N(包括N),统计奇数和偶数的个数
    for (i = 1; i <= N; i++) 
    {
        if (i % 2 == 0) 
        {
            even_count++; // 如果是偶数,增加偶数计数器
        } 
        else 
        {
            odd_count++; // 如果是奇数,增加奇数计数器
        }
    }

    // 输出奇数和偶数的个数
    printf("%d %d\n", odd_count, even_count);

    return 0;
}

 知识点 : 

预处理器指令 #include <stdio.h>: 这个指令告诉C语言的预处理器在实际编译之前包含标准输入输出库的头文件。stdio.h是“Standard Input Output”的缩写,包含了进行输入输出操作所需的函数和宏定义。

主函数 int main()main函数是每个C程序的入口点。它的返回类型是int,表示函数可以返回一个整数值给操作系统,通常用于表示程序的退出状态。

变量声明

int N:用于存储用户输入的正整数。

int i:用作循环计数器。

int odd_count = 0:初始化为0的奇数计数器。

int even_count = 0:初始化为0的偶数计数器。

输入函数 scanfscanf是用于从标准输入读取格式化输入的函数。scanf("%d", &N);这行代码告诉程序读取一个整数值,并将其存储在变量N的内存地址中。%d是格式说明符,表示期望读取一个整数值,&是取地址运算符,用于获取变量的内存地址。

循环结构 for

for (i = 1; i <= N; i++) 
{
    // loop body
}

这是一个for循环,它由三个部分组成:

初始化部分:i = 1,在循环开始前执行一次,初始化循环计数器。

条件部分:i <= N,每次循环迭代前检查条件是否满足,如果为真,则执行循环体;如果为假,则退出循环。

迭代部分:i++,在每次循环迭代后执行,递增循环计数器。

条件语句 if

if (i % 2 == 0) 
{
    // even number processing
} 

else 
{
    // odd number processing
}

if语句用于基于条件执行不同的代码块。i % 2 == 0是一个条件表达式,用于检查i是否能被2整除,以此来判断i是偶数还是奇数。

算术运算符 %%是取模运算符,用于计算两个数相除后的余数。在这里,它用于判断一个数是奇数还是偶数。

自增运算符 ++odd_count++even_count++是自增运算符的使用,它们将变量的值增加1,并且是后置形式,意味着增加操作会在表达式求值之后进行。

输出函数 printfprintf函数用于将格式化的数据输出到标准输出设备。"%d %d\n"是格式字符串,其中%d是格式说明符,用于输出整数,\n是换行符,用于输出完成后换到下一行。

函数返回值 return 0;return 0;表示程序成功完成,并且没有错误。在main函数中,返回0通常表示程序正常结束。

注释

单行注释:使用//,注释直到行尾的内容。

多行注释:使用/*开始,*/结束,可以跨越多行。

代码的可读性: 良好的代码风格,如适当的变量命名、空格和缩进,可以提高代码的可读性,使其他人更容易理解和维护代码。

  

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

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

相关文章

python 打包为exe可执行程序

近期因为需要做文字识别&#xff0c;应用ocr 所以每次都需要部署环境&#xff0c;然后打算做成exe&#xff0c;遇到问题做一总结。 pyinstaller -D --hidden-importpaddleocr testflask.py 生成exe paddleocr 和pyinstaller 安装不做说明。 No such file or directory: …

STM32接入CH340芯片的初始化进入升级模式(死机)问题处理

目录 1. 问题描述2. 问题分析2.1 CH340G/K 的初始化波形2.2 第1种USB升级电路2.3 第2种USB升级电路2.4 第3种USB升级电路2.5 第4种USB升级电路 3. 总结 1. 问题描述 我所用的CH340G&#xff08;CH340K也用过&#xff09;接在MCU的电路中&#xff0c;在插入CH340G/K 的接插件&a…

欢迎参展GASITC2024成都国际城市燃气智能应用技术展

GASITC2024中国&#xff08;成都&#xff09;国际城市燃气智能应用技术展览会 2024China City Gas Intelligent Application Technology Exhibition 同期召开&#xff1a;第十五届&#xff08;成都&#xff09;国际化工技术及装备展览会 展出地点&#xff1a;成都世纪城新国…

Vue CLI配置代理、2.0、3.0

一、vue cli2.0 代理配置 proxy: {/api:{target: "http://localhost:8067",pathRewrite: {/api: }}, } 一、vue cli3.0 代理配置 proxy: {/api: {target: http://localhost:8067,pathRewrite: {/api: }} }

OSPF链路状态数据库

原理概述 OSPF是一种基于链路状态的动态路由协议&#xff0c;每台OSPF路由器都会生成相关的LSA&#xff0c;并将这些LSA通告出去。路由器收到LSA后&#xff0c;会将它们存放在链路状态数据库LSDB中。 LSA有多种不同的类型&#xff0c;不同类型的LSA的功能和作用是不同的&…

YOLOv8的训练、验证、预测及导出[目标检测实践篇]

这一部分内容主要介绍如何使用YOLOv8训练自己的数据集&#xff0c;并进行验证、预测及导出&#xff0c;采用代码和指令的两种方式&#xff0c;参考自官方文档&#xff1a;Detect - Ultralytics YOLOv8 Docs。实践篇不需要关注原理&#xff0c;只需要把流程跑通就行&#xff0c;…

【Mac】LRTimelapse 6(延迟摄影编辑渲染软件) v6.5.4安装汉化教程

软件介绍 LRTimelapse 6 for Mac是一款专业的时间轴摄影和时间堆栈软件&#xff0c;它被广泛用于创建流畅的时间轴视频&#xff0c;适用于风光摄影、延时摄影和其他类型的摄影项目。它与Adobe Lightroom和Adobe Camera Raw完美集成&#xff0c;可以在Lightroom中编辑和处理RAW…

iOS xib布局

1.多次启动发现启动图和截屏的图片不一致,设置launch storyboard 不能到顶部 https://blog.csdn.net/u011960171/article/details/104053696/ 2.multipiler是比例&#xff0c;需要控制顺序1.视图&#xff0c;2父视图&#xff0c;选择宽度比例&#xff0c;默认是1 3.Aspect R…

如何开发自己的深度学习优化算法

深度学习优化算法 如何开发自己的深度学习优化算法理解优化算法的基础**核心组件**&#xff1a; 设计自定义优化算法的步骤**步骤 1: 定义问题和目标****步骤 2: 研究现有算法****步骤 3: 开发初步想法****步骤 4: 创建原型****步骤 5: 系统测试与优化** 关键建议 如何开发自己…

WMS仓储管理系统库存分类的详细讲解

在当今日益复杂和快速变化的商业环境中&#xff0c;仓库管理成为了一个企业不可或缺的关键环节。WMS仓储管理系统解决方案凭借其自动化和信息化的优势&#xff0c;为企业带来了革命性的改变&#xff0c;特别是在库存分类方面。接下来&#xff0c;我们将深入探讨WMS仓储管理系统…

下载源代码并交叉编译riscv FreeBSD系统和内核

RISCV系统曾经让人神秘到无法接触&#xff0c;交叉编译更是只有耳闻&#xff0c;现在随着RISCV的普及&#xff0c;它们神秘的面纱已经被慢慢揭开。 交叉编译作为RISCV系统中的一个重要环节&#xff0c;也随着RISCV的普及而变得更加容易理解和操作。交叉编译允许开发者在一个平…

AI数据中心网络技术选型,InfiniBand与RoCE对比分析

InfiniBand与RoCE对比分析&#xff1a;AI数据中心网络选择指南 随着 AI 技术的蓬勃发展&#xff0c;其对数据中心网络的要求也日益严苛。低延迟、高吞吐量的网络对于处理复杂的数据密集型工作负载至关重要。本文分析了 InfiniBand 和 RoCE 两种数据中心网络技术&#xff0c;帮助…

4步快速配置Java、MySQL、Maven环境(windows)

每次入职一家新公司或者用一台其他的临时电脑或者新电脑时都要重新配置Java开发环境&#xff0c;很麻烦&#xff0c;因此我在这里记录一下快速配置环境的方式&#xff0c;四步搞定&#xff01;此处以win为操作系统进行讲解。 第一步&#xff1a;下载链接 下载链接&#xff1a…

Poisson_Image-Editing

1.算法介绍 快速泊松图像编辑&#xff08;Fast Poisson Image Editing&#xff09;是一种图像处理算法&#xff0c;用于将源图像的某个区域无缝地嵌入到目标图像中。它基于泊松方程的性质&#xff0c;通过求解离散化的泊松方程来实现图像的融合。该算法的核心思想是&#xff0c…

SpringBoot中这样用ObjectMapper

每次new一个单例化个性化配置小结 你要说他有问题吧&#xff0c;确实能正常执行&#xff1b;可你要说没问题吧&#xff0c;在追求性能的同学眼里&#xff0c;这属实算是十恶不赦的代码了。 首先&#xff0c;让我们用JMH对这段代码做一个基准测试&#xff0c;让大家对其性能有个…

详细分析Mybatis与MybatisPlus中分页查询的差异(附Demo)

目录 前言1. Mybatis2. MybatisPlus3. 实战 前言 更多的知识点推荐阅读&#xff1a; 【Java项目】实战CRUD的功能整理&#xff08;持续更新&#xff09;java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09; 本章节主要以Demo为例&#xff…

安卓自动化脚本制作流程详解!

在移动应用日益普及的今天&#xff0c;安卓自动化脚本制作成为了开发者提高工作效率、减少重复劳动的重要手段&#xff0c;本文将详细介绍安卓自动化脚本的制作流程&#xff0c;并通过五段源代码的实例&#xff0c;帮助读者更好地理解和掌握这一过程。 一、安卓自动化脚本制作…

407627-60-5,AF647 NHS酯一种高亮度的红色荧光试剂

一、产品概述 中文名称&#xff1a;Alexa Fluor 647活化酯&#xff0c;AF647 NHS酯&#xff0c;AF 647 琥珀酰亚胺酯 英文名称&#xff1a;AF647 NHS&#xff0c;Alexa Fluor 647 NHS ester CAS号&#xff1a;1620475-28-6&#xff0c;407627-60-5&#xff0c;1453856-34-2 …

(1day)致远M3 log 敏感信息泄露漏洞(Session)复现

前言 系统学习web漏洞挖掘以及项目实战也有一段时间了,发现在漏洞挖掘过程中难免会碰到一些历史漏洞,来帮助自己或是提高自己挖洞和及时发现漏洞效率,于是开始创建这个专栏,对第一时间发现的1day以及历史漏洞进行复现,来让自己更加熟悉漏洞类型以及历史漏洞,方便自己在后续的项…

【Linux】17. 进程间通信 --- 管道

1. 什么是进程间通信(进程间通信的目的) 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 通知事件&#xff1a;一个进程需要向另一个或一组进程发送消息&#xff0c;通知它&#xff08;它们&#xff09;发生了…