牛客网刷题 | 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.rhkb.cn/news/322675.html

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

相关文章

Linux Ubuntu 开机自启动浏览器

终端输入命令&#xff1a;gnome-session-properties 打开启动设置 如果提示&#xff1a;Command ‘gnome-session-properties’ not found, but can be installed with: apt install gnome-startup-applications 则执行&#xff1a;apt install gnome-startup-applications安装…

1688数据分析实操技巧||1688商品数据采集接口 数据分析

今天&#xff0c;聊一聊B2B平台的数据分析&#xff0c;以1688国内站为例。 1688平台数据接口 1688也属于阿里巴巴的体系&#xff0c;跟淘宝天猫运营很像&#xff0c;因此很多淘宝天猫的玩法调整后也适用于1688。数据分析也是如此。 在1688搞数据分析&#xff0c;搞数据化运营可…

逆向中webpack需要补充的模块很多怎么办

如下面这种典型的形式 进入i找到加载器 找到加载器所在函数r,在 return e[a].call(c.exports, c, c.exports, r),打上断点。 在控制台打印e,会发现它总共有的模块&#xff0c;这些模块需要我们在别的webpack中复制&#xff0c;有时很多&#xff0c;很麻烦。 我们可以注入代码在…

【PMP战报】2024.3.10 PMP考试成绩出炉

PMP成绩查询及电子版证书下载 https://mp.weixin.qq.com/s/HgWrZWjJ0cScEYs4w1b4iwPMP项目管理学习专栏https://blog.csdn.net/xmws_it/category_10954848.html?spm1001.2014.3001.5482 2024年3月中国大陆的认证考试已经顺利结束。 从2024年5月7日开始&#xff0c;大约一周内…

单片机的中断

1. 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置 当中央处理机CPU正在处理某件事的时候外界发生紧急事件请求&#xff0c;要CPU暂停当前的工作&#xff0c;转而去处理这个紧急事件&#xff0c;处理完以后&#xff0c;再回到原来中断的地方&#xff0c;继续原…

serve服务

全局安装 npm install -g serve 进入目录&#xff0c; 执行serve &#xff0c; 就可直接开启服务

LAME及 iOS 编译

文章目录 关于 LAME编译 for iOS 关于 LAME 官网&#xff1a;https://lame.sourceforge.io LAME是根据LGPL许可的高质量MPEG音频层III&#xff08;MP3&#xff09;编码器。 LAME的开发始于1998年年中左右。Mike Cheng 最开始将它作为针对8hz-MP3编码器源的补丁。在其他人提出…

使用Python及R语言绘制简易数据分析报告

Pytohn实现 在python中有很多包可以实现绘制数据分析报告的功能&#xff0c;推荐两个较为方便的包&#xff1a;pandas-profiling 和 sweetviz 。 使用 pandas-profiling 包&#xff08;功能全面&#xff09; 这个包的个别依赖包与机器学习的 sklearn 包的依赖包存在版本冲突&a…

Stable Diffusion Ai绘画模型推荐:二次元Coriander_Mix v1大模型推荐

负tag嵌入式:EasyNegative,badhandv4 此模型经测试是写实偏3D的效果 画质灰暗的话请加&#xff1a;VAE840000 或者负tag&#xff1a;(watermark:2),(blurry:2),fat,paintings,sketches,(worst quality:2),(low quality:2),(normal quality:2),((monochrome)), ((grayscale))…

jsp驾校管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 驾校管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用serlvetdaobean mvc 模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发…

分布式锁之-redis

什么是分布式锁&#xff1f; 即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题&#xff0c;而分布式锁&#xff0c;就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是&#xff0c;分布式系统中竞争共享资源的最小粒度从线程升级成了…

VscodeC/C++环境配置

引言 vscode是一款非常好用的编辑器&#xff0c;集成了大量的插件&#xff0c;具有很高的自由度&#xff0c;因此广受大家的喜爱。但是他本身是不带编译器的&#xff0c;因此如果要使用vscode来编译C/C程序的话&#xff0c;我们需要额外安装编译器并且为vscode配上环境。 编译…

Observability:监控与可观察性不同的 3 个原因

作者&#xff1a;来自 Elastic Elastic Observability Team 监控和可观察性通常可以互换使用&#xff0c;但它们并不完全相同。 监控是可观察性的重要组成部分&#xff0c;但可观察性远远超出了传统监控实践的范围。 主要区别&#xff1a;监控从各个组件收集数据 —— 时间和内…

堆的基本操作(c语言实现)

1.堆的基本操作 1.1定义堆 typedef int HPDataType;//堆中存储数据的类型typedef struct Heap {HPDataType* a;//用于存储数据的数组int size;//记录堆中已有元素个数int capacity;//记录堆的容量 }HP;1.2初始化堆 然后我们需要一个初始化函数&#xff0c;对刚创建的堆进行初…

Element-plus修改input的placeholder文字颜色

需求 代码 .el-input__inner::placeholder {color: #666f8d !important; }

vs 2022 Xamarin 生成 Android apk

再保存&#xff0c;如果没有生成apk就重启软件 再试一次

软件测试小妙招:详细解读 postman接口测试导入导出操作

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 postman中的集合脚本&#xff0c;环境变量、全局变量全部都可以导出&#xff0c;然后分享给团队…

Python开源工具库使用之运动姿势追踪库mediapipe

文章目录 前言一、姿势估计1.1 姿态关键点1.2 旧版 solution API1.3 新版 solution API1.4 俯卧撑计数 二、手部追踪2.1 手部姿态2.2 API 使用2.3 识别手势含义 参考 前言 Mediapipe 是谷歌出品的一种开源框架&#xff0c;旨在为开发者提供一种简单而强大的工具&#xff0c;用…

三.搜索与图论(未完结)

DFS(深搜) 之前写过三篇关于dfs的 练习总结: 基础算法--递归搜索DFS练习总结(上)-CSDN博客 基础算法--递归搜索DFS练习总结(中)-CSDN博客 基础算法--递归搜索DFS练习总结(下)-CSDN博客 以下题目均为 补充练习: P1460 [USACO2.1] 健康的荷斯坦奶牛 Healthy Holsteins …

【华为】AC直连二层组网隧道转发实验配置

【华为】AC直连二层组网隧道转发实验配置 实验需求拓扑配置AC数据规划表 AC的配置顺序AC1基本配置(二层通信)AP上线VAP组关联--WLAN业务流量 LSW1AR1STA获取AP的业务流量 配置文档 实验需求 AC组网方式&#xff1a;直连二层组网。 业务数据转发方式&#xff1a;隧道转发。 DHC…