牛客网刷题 | BC94 反向输出一个四位数

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

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

感谢阅读!

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


 描述

将一个四位数,反向输出。

输入描述:

一行,输入一个整数n(1000 <= n <= 9999)。

输出描述:

针对每组输入,反向输出对应四位数。

示例1


解题思路 : 

存放这几个数字

然后取模的方式来实现

1234 % 10 = 4

(1234/10) % 10 = 3

(1234/100) % 10 = 2

1234/1000= 1


理解题目要求: 题目要求我们输入一个四位数,并将其每一位数字反向输出。这意味着如果输入是1234,输出应该是4321。

输入处理: 首先,我们需要从用户那里获取输入。在C语言中,我们可以使用scanf函数来实现这一点。我们需要确保输入是一个四位数,即1000到9999之间的整数。

分离每一位数字: 为了反向输出数字,我们需要先获取每一位数字。在C语言中,我们可以使用模运算符%来获取个位数,然后通过整除运算符/来去掉已经处理过的位数。

构建反向数字: 接下来,我们需要构建反向的数字。我们可以通过将每一位数字乘以它们在反向数字中的位置对应的10的幂次来实现这一点。例如,个位数乘以1000(因为它现在是千位),十位数乘以100,百位数乘以10。

输出结果: 一旦我们构建了反向数字,我们就可以将其输出。在C语言中,我们可以使用printf函数来输出结果。

考虑边界条件: 虽然题目已经限定了输入是一个四位数,但在实际编程中,我们可能需要考虑其他边界条件,比如输入的验证,确保用户输入的是一个有效的整数。


代码 1:

/*  解题思路 :  用数组存放这几个数字 然后取模的方式来实现1234 % 10 = 4(1234/10) % 10 = 3(1234/100) % 10 = 21234/1000= 1  
*/
//笨方法...请各位大佬见谅# include <stdio.h>
int main (){int n = 0;scanf("%d",&n);//用户输入if (n <= 9999 && n >= 1000) //数据范围{int a = n%10;//千位int b = (n/10)%10;//百位int c = (n/100)%10;//十位int d = n/1000;//个位printf("%d%d%d%d\n",a,b,c,d);//按照从后往前顺序打印}return 0;
}

 代码 2:

这代码.......我竟无言以对

天才!

#include<stdio.h>
int main()
{int a,b,c,d;scanf("%1d%1d%1d%1d",&a,&b,&c,&d);printf("%d%d%d%d\n",d,c,b,a);return 0;
}

代码 3 :

#include<stdio.h>int main(){
int a;
scanf("%d",&a);
int i,b;
for(i=1;i<=4;i++)
{b=a%10; a=a/10;printf("%d",b);
}
return 0;
}#include<stdio.h> // 包含标准输入输出库,用于进行输入输出操作int main() // 定义主函数
{int a; // 定义一个整型变量a,用于存储用户输入的四位数scanf("%d", &a); // 使用scanf函数从标准输入读取一个整数并存储到变量a中int i, b; // 定义两个整型变量i和b,其中i用于循环计数,b用于存储每轮循环中的个位数数字for(i = 1; i <= 4; i++) // 定义一个for循环,循环4次,因为我们需要输出四位数的每一位{b = a % 10; // 计算a的个位数,即将a与10取模,结果赋值给ba = a / 10; // 将a除以10,去掉个位数,为下一次循环做准备printf("%d", b); // 输出变量b,即当前的个位数}return 0; // 程序正常结束并返回0
}

代码 4:

#include<stdio.h> // 包含标准输入输出库,用于进行输入输出操作int main() // 主函数入口
{int a = 0; // 定义一个整型变量a并初始化为0,用于存储输入的四位数scanf("%d", &a); // 使用scanf函数从标准输入读取一个整数并存储到变量a中while (a) // 当变量a非0时,进入循环{printf("%d",a%10); // 使用printf函数输出a除以10的余数,即个位数a = a / 10; // 将a除以10并赋值给a自身,实现去掉个位的效果}return 0; // 程序正常结束并返回0
}

知识点 : 

头文件包含: #include<stdio.h>

这个预处理指令告诉编译器包含标准输入输出库,它是进行输入输出操作所必需的。

主函数定义: int main()

这是C语言程序的入口点,每个C程序都从main函数开始执行。

变量声明: int a; int i, b;

int是整型数据的声明,表示这些变量将存储整数。

a用来存储用户输入的四位数。

i用作for循环的计数器。

b用来存储每次循环中提取的数字。

输入函数: scanf("%d", &a);

scanf是一个标准库函数,用于从标准输入(通常是键盘)读取数据。

"%d"是一个格式字符串,指定要读取的数据类型是整数。

&a是变量a的地址,告诉scanf函数在哪里存储读取的数据。

for循环: for(i = 1; i <= 4; i++)

for循环是一种控制流语句,用于重复执行一段代码直到满足特定条件。

初始化表达式i = 1设置循环计数器的初始值。

循环条件i <= 4决定循环何时继续执行。

迭代表达式i++在每次循环结束时更新计数器的值。

取模运算: b = a % 10;

%是取模运算符,用于获取两个数相除的余数。

这里用来获取a的个位数。

整数除法: a = a / 10;

/是整数除法运算符,用于计算两个数相除的整数结果。

这里用来去掉a的个位数,为输出下一个位做准备。

输出函数: printf("%d", b);

printf是一个标准库函数,用于将数据输出到标准输出(通常是屏幕)。

"%d"是一个格式字符串,指定要输出的数据类型是整数。

b是要输出的变量。

程序结束: return 0;

return语句用于从main函数返回一个值。

返回值0通常表示程序正常结束。

  

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

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

相关文章

【Linux初探】:解锁开源世界的神秘钥匙

文章目录 &#x1f680;一、了解Linux&#x1f525;二、Linux 的发行版❤️三、Linux应用领域&#x1f4a5;四、Linux vs Windows & mac &#x1f680;一、了解Linux Linux是一种自由、开放源代码的操作系统&#xff0c;它的内核由芬兰计算机科学家Linus Torvalds在1991年创…

LeetCode题练习与总结:二叉树的层序遍历Ⅱ--107

一、题目描述 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09; 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[…

【评价类模型】层次分析法(AHP)

1.评价类思想综述&#xff1a; 明确评价主体–>评价指标确定–>计算指标权重–>方案评价 1.1指标确定&#xff1a; 可以通过一个思维导图的方式来画出一个指标系统&#xff0c;先确定方向&#xff0c;再向下细化 注意&#xff1a;指标需要具有贴合性和独立性。 贴合…

打造游戏APP:面向对象编程的实战演练

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、项目背景与架构概览 二、类的设计与实现 三、面向对象编程的实践 四、游戏循环与事件…

Vue CLI 的服务介绍与使用(2024-05-20)

1、介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统&#xff0c;提供&#xff1a; 通过 vue/cli 实现的交互式的项目脚手架。 通过 vue/cli vue/cli-service-global 实现的零配置原型开发。 一个运行时依赖 (vue/cli-service)&#xff0c;该依赖&#xff1a; 可升级…

单片机原理及技术(二)—— AT89S51单片机(一)(C51编程)

目录 一、AT89S51单片机的片内硬件结构 二、AT89S51的引脚功能 2.1 电源及时钟引脚 2.2 控制引脚 2.3 并行 I/O口引脚 三、AT89S51的CPU 3.1 运算器 3.1.1 算术逻辑单元&#xff08;ALU&#xff09; 3.1.2 累加器A 3.1.3 程序状态字寄存器&#xff08;PSW&#xff09…

谈谈你对 vue 的理解 ?

1.谈谈你对 vue 的理解 ? 官方: Vue是一套用于构建用户界面的渐进式框架,Vue 的核心库只关注视图层 2. 声明式框架 Vue 的核心特点,用起来简单。那我们就有必要知道命令式和声明式的区别! 早在 JQ 的时代编写的代码都是命令式的,命令式框架重要特点就是关注过程 声明…

LDAP: error code 32 - No Such Object

目前我的项目版本&#xff1a; Spring版本:5.3.15SpringBoot版本:2.6.3 完整错误 org.springframework.ldap.NameNotFoundException: [LDAP: error code 32 - No Such Object]; nested exception is javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Objec…

C语言基础(七)

C语言基础&#xff08;七&#xff09; constconst修饰变量const修饰指针 main函数传参GDB调试工具 const const修饰变量 const修饰变量&#xff1a;只读&#xff08;不可写&#xff09; const修饰指针 左数右指&#xff08;const在*的哪一侧&#xff09; 数 —— 数值不可修…

弱密码系统登录之后强制修改密码

在你登录的时候&#xff0c;获取到弱密码&#xff0c;然后将他存到vuex里面&#xff0c;在登录进去之后&#xff0c;index页面再去取&#xff0c;思路是这样的 一、vuex里面定义密码字段 我是直接在user.js里面写的 import { login, logout, getInfo } from /api/login impo…

【MySQL进阶之路 | 基础篇】存储过程

1. 存储过程概述 (1). 含义 : 存储过程就是一组经过预先编译的SQL语句的封装. (2). 执行过程 : 存储过程预先存储在MySQL服务器上&#xff0c;需要执行的时候&#xff0c;客户端只需要向服务器端发送调用存储过程的命令&#xff0c;服务器端就可以把预先存储好的这一系列SQL语…

推荐一款媒体影音嗅探神器—Chrome扩展插件(猫抓cat-catch)

目录 1.1、前言1.2、下载地址1.3、github Releases 版本说明1.4、安装步骤1.5、猫抓插件常规设置1.5.1、设置抓取文件的类型1.5.2、设置抓取文件的后缀名 1.1、前言 我们在日常上网的过程中&#xff0c;很多音频、视频网站下载资源都非常不方便&#xff0c;要么需要安装客户端&…

jvm的类加载

文章目录 概要加载类加载器分类双亲委派模型自定义加载器 验证准备解析初始化<cinit>与<init> 概要 jvm运行时的整体结构如下 一个Car类&#xff0c;类跟Car对象的转换过程如下&#xff1a; 加载后的class类信息存放于方法区&#xff1b;ClassLoader只负责clas…

5.25机器人基础-空间描述和变换1

参考资料&#xff1a;《机器人学导论》John.J.Craig 彻底搞懂“旋转矩阵/欧拉角/四元数”&#xff0c;让你体会三维旋转之美_欧拉角判断动作-CSDN博客 机器人操作的定义是指通过某种机构使零件和工具在空间运动。因此&#xff0c;对于坐标系的定义显得尤为重要&#xff0c;相…

Mysql搭建主从同步,docker方式(一主一从)

服务器&#xff1a;两台Centos9 用Docker搭建主从 使用Docker拉取MySQL镜像 确保两台服务器都安装好了docker 安装docker请查看&#xff1a;Centos安装docker 1.两台服务器都先拉取mysql镜像 docker pull mysql 2.我这里是在 /opt/docker/mysql 下创建mysql的文件夹用来存…

基于STM32实现智能水族箱控制系统

目录 引言环境准备智能水族箱控制系统基础代码示例&#xff1a;实现智能水族箱控制系统 水温传感器数据读取水泵与加热器控制水位传感器数据读取用户界面与显示应用场景&#xff1a;水族箱管理与环境控制问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌…

网络布线与数制转换

信号与传输介质 信号概述 什么是信号 信息 人对现实世界事物存在方式或运动状态的某种认识 数据 用于描述事物的某些属性的具体量值 信号 信息传递的媒介 例如&#xff0c;描述某一件物体&#xff0c;它的长、宽、高、质地、颜色、气味等就是用以形容该物体的数据。通…

深度学习——自己的训练集——图像分类(CNN)

图像分类 1.导入必要的库2.指定图像和标签文件夹路径3.获取文件夹内的所有图像文件名4.获取classes.txt文件中的所有标签5.初始化一个字典来存储图片名和对应的标签6.遍历每个图片名的.txt文件7.随机选择一张图片进行展示8.构建图像的完整路径9.加载图像10.检查图像是否为空 随…

网络安全从入门到精通(特别篇I):应急响应之不同平台后门排查思路

Windows-后门-常规&权限维持&内存马 Linux-后门-常规&权限维持&Rootkit&内存马 Windows实验 1、常规MSF后门-分析检测 2、权限维持后门-分析检测 3、Web程序内存马-分析检测 常见工具集合: https://mp.weixin.qq.com/s/L3Lv06bFdUX_ZE4rS69aDg 常规…

RAG系统-主流向量数据库

主流向量数据库功能对比 FAISS: Meta 开源的向量检索引擎 https://github.com/facebookresearch/faissPinecone: 商用向量数据库&#xff0c;只有云服务 https://www.pinecone.io/Milvus: 开源向量数据库&#xff0c;同时有云服务 https://milvus.io/Weaviate: 开源向量数据库&…