牛客网刷题 | BC80 奇偶统计

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

        专栏如下:                 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++;elsecounta++;}printf("%d %d",counta,countb);}

 代码 3: 

AI写的

#include <stdio.h>int main() 
{int N, i;int odd_count = 0; // 奇数计数器int even_count = 0; // 偶数计数器// 读取用户输入的正整数Nscanf("%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.mzph.cn/news/833289.shtml

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

相关文章

迅饶科技 X2Modbus 网关 AddUser 任意用户添加漏洞复现

0x01 免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删…

Python运维-文本处理、系统和文件信息监控、外部命令

本节主要目录如下&#xff1a; 一、文本处理 1.1、Python编码解码 1.2、文件操作 1.3、读写配置文件 1.4、解析XML文件 二、系统信息监控 2.1、监控CPU信息 2.2、监控内存信息 2.3、监控磁盘信息 2.4、监控网络信息 2.5、获取进程信息 2.6、实例&#xff1a;常见的…

【知识点随笔分享 | 第十篇】快速介绍一致性Hash算法

前言&#xff1a; 在分布式系统中&#xff0c;数据的分布和负载均衡是至关重要的问题。一致性哈希算法是一种解决这些挑战的有效工具&#xff0c;它在分布式存储、负载均衡和缓存系统等领域得到了广泛应用。 随着互联网规模的不断扩大&#xff0c;传统的哈希算法在面对大规模…

cmake进阶:变量的作用域(目录作用域与全局作用域)

一. 简介 前面从函数作用域方面学习了变量的作用域&#xff0c;本文从目录作用域方面来学习变量的作用域。 二. cmake进阶&#xff1a;从目录作用域方面学习变量的作用域 1. 目录作用域 什么是目录作用域&#xff1f; 我把这个作用域叫做目录作用域。子目录会将父目录的所…

Web3 ETF软件系统的主要功能

下面是Web3 ETF系统软件的主要功能&#xff0c;这些功能共同构成了Web3 ETF系统软件的核心&#xff0c;使其能够有效地为投资者提供Web3技术相关的投资机会&#xff0c;同时确保合规性、安全性和透明度。北京木奇移动软件有限公司&#xff0c;专业的软件外包开发公司&#xff0…

【Git】Git学习-10-11:GitHub,SHH配置,克隆仓库

学习视频链接&#xff1a;【GeekHour】一小时Git教程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 创建仓库 配置SSH密钥可以更加安全&#xff0c;方便地推送、拉取代码 根目录下&#xff0c;进入.ssh文件&am…

【C语言】——联合体与枚举

【C语言】——联合体与枚举 一、联合体1.1、联合体类型的声明1.2、联合体的特点1.3、相同成员的结构体和联合体对比1.4、联合体的大小计算1.5、联合体的应用举例 二、枚举2.1、枚举类型的声明2.2、枚举类型的优点 一、联合体 1.1、联合体类型的声明 联合体也叫做共用体   与…

学习R语言第五天

文章目录 语法学习创建数据的方式绘制图形的方式图形添加颜色如何操作数据的方式数据进行验算的判断加付值的方式修改变量名称的方式判断是否存在缺失值在计算的方式忽略缺失值通过函数的方式忽略缺失值日期处理的方式字符串转化成日期的方式格式化数据框中数据返回当前的日期的…

19_Scala集合概述

文章目录 集合回顾javaScala集合三大类String & StringBuilderScala集合两大类 集合 回顾java scala与Java有所不同 函数式编程语言更侧重集合本身提供的哪些功能&#xff1b; Scala集合三大类 1.Seq 存储有序数据可重复 类比 List 2.Set 存储无序数据不可重复 3.Map…

【算法系列】字符串

目录 leetcode题目 一、最长公共前缀 二、最长回文子串 三、二进制求和 四、字符串相加 五、字符串相乘 六、仅仅反转字母 七、字符串最后一个单词的长度 八、验证回文串 九、反转字符串 十、反转字符串 II 十一、反转字符串中的单词 III leetcode题目 一、最长公…

frp内网穿透服务搭建与使用

frp内网穿透服务搭建与使用 1、frp简介 frp 是一个专注于内网穿透的高性能的反向代理应用&#xff0c;支持 TCP、UDP、HTTP、HTTPS 等多种协议。 可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。frp工作原理 服务端运行&#xff0c;监听一个主端口…

Parts2Whole革新:多参照图定制人像,创新自定义肖像生成框架!

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享&#xff0c;与你一起了解前沿深度学习信息&#xff01; Parts2Whole革新&#xff1a;多参照图定制人像&#xff0c;创新自定义肖像生成框架&#xff01; 引言&#xff1a;探索多条件人像生成的新篇章 在数字内容创作…

论文精读-存内计算芯片研究进展及应用

文章目录 论文精读-存内计算芯片研究进展及应用概述背景介绍前人工作 存内计算3.1 SRAM存内计算3.2 DRAM存内计算3.3 ReRAM/PCM存内计算3.4 MRAM存内计算3.5 NOR Flash存内计算3.6 基于其他介质的存内计算3.7 存内计算芯片应用场景 总结QA 论文精读-存内计算芯片研究进展及应用…

SpringBoot中实现发送邮件

概要 在Spring Boot中发送电子邮件相对简单。你可以使用Spring的邮件支持来实现这一点。 步骤&#xff1a; 1.添加依赖&#xff1a;首先&#xff0c;需要在你的pom.xml文件中添加Spring Boot的邮件发送器依赖。 2. 配置邮件服务器&#xff1a;在application.properties或app…

嵌入式全栈开发学习笔记---C语言笔试复习大全14

目录 指针初级 指针的概念 指针类型 指针类型长度 指针的定义 通过指针访问数据 p1和*p1的区别 指针做函数参数 上一篇复习了8道编程题&#xff0c;这篇开始正式复习之指针&#xff01; 说明&#xff1a;我们学过单片机的一般都是有C语言基础的了&#xff0c;网上关于C…

网络 IO 模式

同步 IO 与异步 IO 同步 IO 和异步 IO 是关于数据读写方式的两种不同模式。 同步 IO 是指在程序读写数据时&#xff0c;需要等待操作完成后才能继续执行后面的程序。这种模式下&#xff0c;当程序使用阻塞式 IO 时&#xff0c;会一直等待IO操作完成&#xff0c;程序会暂停执行…

​​【收录 Hello 算法】3.3 数字编码

目录 3.3 数字编码 3.3.1 原码、反码和补码 3.3.2 浮点数编码 3.3 数字编码 Tip 在本书中&#xff0c;标题带有 * 符号的是选读章节。如果你时间有限或感到理解困难&#xff0c;可以先跳过&#xff0c;等学完必读章节后再单独攻克。 3.3.1 原码、反码和补码 在…

一、RocketMQ基本概述与部署

RocketMQ基本概述与安装 一、概述1.MQ概述1.1 用途1.2 常见MQ产品1.3 MQ常用的协议 2.RocketMQ概述2.1 发展历程 二、相关概念1.基本概念1.1 消息&#xff08;Message&#xff09;1.2 主题&#xff08;Topic&#xff09;1.3 标签&#xff08;Tag&#xff09;1.4 队列&#xff0…

RK3576芯片规格,以及与RK3588对比

瑞芯微RK3576是一款高性能、低功耗的SoC&#xff08;系统级芯片&#xff09;处理器&#xff0c;适用于基于ARM的PC、边缘计算设备、个人移动互联网设备等多种应用场景。它采用Arm架构的八核心CPU&#xff0c;集成了GPU、MCU、NPU、VPU等多种计算核心&#xff0c;并具有丰富的外…

Go Web 开发 Demo【用户登录、注册、验证】

前言 这篇文章主要是学习怎么用 Go 语言&#xff08;Gin&#xff09;开发Web程序&#xff0c;前端太弱了&#xff0c;得好好补补课&#xff0c;完了再来更新。 1、环境准备 新建项目&#xff0c;生成 go.mod 文件&#xff1a; 出现报错&#xff1a;go: modules disabled by G…