牛客网刷题 | 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通常表示程序正常结束。


相关文章:
牛客网刷题 | BC94 反向输出一个四位数
目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 将一个四位数&…...
记一次MySQL执行修改语句超时问题
异常问题 原因分析 这个问题发生在开发环境,怀疑是提交事务时终止项目运行,没有提交该事务,造成死锁 调试该事务时时间太长,为什么说有这个原因呢,因为通过查找日志显示 The client was disconnected by the server …...
linux fork()函数调用原理
在Linux中,fork函数用于创建一个新的进程,该进程是调用进程的子进程。fork函数的实现涉及用户态和内核态之间的交互。下面我将详细说明fork函数在代码流程中的原理和用户态与内核态的交互过程。 用户态调用fork函数: 用户程序调用fork函数,该函数是libc库提供的一个封装函数…...
【电控笔记5.9】编码器脉冲计算速度MT法
总结 编码器的脉冲计算速度可以使用多种方法,其中一种常用的方法是“MT法” (Measuring Time Method),即测量时间法。该方法通过测量编码器脉冲间的时间来计算速度。这种方法在高精度速度测量中非常有效,特别是在速度较低时。 MT法计算速度的基本原理 MT法的基本原理是通过…...
go-zero 实战(4)
中间件 在 userapi 项目中引入中间件。go项目中的中间可以处理请求之前和之后的逻辑。 1. 在 userapi/internal目录先创建 middlewares目录,并创建 user.go文件 package middlewaresimport ("github.com/zeromicro/go-zero/core/logx""net/http&q…...
go语言泛型Generic最佳实践 --- slices包
在go的内置包slices中, 所有的函数函数都使用了泛型, 各种各样的泛型, 可以说这个包绝对是go语言泛型学习的最佳实践之一! 来,先来瞄一眼,看看这个slices包里面的函数原型定义: func BinarySe…...
【神经网络结构可视化】使用 Visualkeras 可视化 Keras / TensorFlow 神经网络结构
文章目录 Visualkeras介绍下载安装代码示例1、导入必要的库2、创建VGG16神经网络模型3、可视化神经网络结构4、完整代码5、使用教程 可视化自己创建的神经网络结构1、导入要的库2、创建自己的神经网络模型3、可视化神经网络结构图4、完整代码 Visualkeras介绍 Visualkeras是一…...
nvm安装nodejs/npm/nvm笔记
1 安装nvm, 指定路径nvm路径: D:\Program_Files\nvm\nvm指定路径nodejs 路径: D:\Program_Files\nvm\nodejs 2 进入nvm安装路径找到settings.xml文件,追加2行,设置镜像 node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: ht…...
微信小程序源码-基于Java后端的小区租拼车管理信息系统毕业设计(附源码+演示录像+LW)
大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设…...
嵌入式进阶——LED呼吸灯(PWM)
🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 PWM基础概念STC8H芯片PWMA应用PWM配置详解占空比 PWM基础概念 PWM全称是脉宽调制(Pulse Width Modulation)…...
一文读懂:http免费升级https
背景: 随着现在全民网络安全意识的日益提升,各个网站需要实现的https数量也随之提升,那么如何将原本网站的http访问方式升级为https呢? 该内容为如何免费将网站的http访问升级为https访问 论https的加密逻辑: 步骤 …...
算法刷题笔记 高精度除法(C++实现)
文章目录 题目描述求解思路实现代码 题目描述 给定两个非负整数(不含前导0)A,B,请你计算 A/B 的商和余数。 输入格式 共两行,第一行包含整数A,第二行包含整数B。 输出格式 共两行,第一行输…...
按月爬取天气数据可视化展示
从天气网分析,可以查询每个月的天气情况,这里按照url规则,传入年月,获取数据,最后进行可视化展示,最终效果: 下面是获取过程: 第一步: import requestsdef get_weather(month):url = f"https://lishi.tianqi.com/nanning/{month}.html"response = reques…...
VMware安装Ubuntu系统(超详细)
一.Ubuntu官网下载镜像 Ubuntu官网:Enterprise Open Source and Linux | Ubuntu 二.安装Ubuntu系统 选择文件->创建虚拟机新建虚拟机(ControlN),这里直接选择典型即可 选择稍后安装系统 选择linux Ubuntu 64位 填写虚拟机名称…...
数据清洗操作及众所周知【数据分析】
各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 前面的博客 数据分析—技术栈和开发环境搭建 …...
炫酷gdb
在VS里面调试很方便对吧?(F5直接调试,F10逐过程调试--不进函数,F11逐语句调试--进函数,F9创建断点),那在Linux中怎么调试呢? 我们需要用到一个工具:gdb 我们知道VS中程…...
windows 7 10 11快捷键到启动页面
1.快速打开用户启动文件夹 shell:startup 方式2:快速打开系统启动文件夹 shell:Common Startup shell:Common Startup...
[处理器芯片]-6 超标量CPU实现之浮点运算
1 浮点运算单元FPU 超标量CPU中的浮点运算单元是专门处理浮点数运算的关键组件。浮点运算单元的设计涉及多个复杂的子模块和技术,以保证高效、准确地执行浮点数的加减法、乘法、除法、平方根等操作。 1)浮点数术语 浮点数通常采用IEEE 754标准表示&…...
又有人叫嚣:AI取代前端,来给你几张图,看能不能憋死AI。
总有自媒体人,为了些许流量,在大放厥词,说截个图给AI,AI就能输出前端代码,这是啥都敢说,吹牛不上税。 我来给你几张贝格前端工场日常接的大数据项目相关的图,你让AI生成代码,取代前…...
ISCC2024个人挑战赛WP-WEB
(非官方解,以下内容均互联网收集的信息和个人思路,仅供学习参考) 还没想好名字的塔防游戏 GET /world.js HTTP/1.1 Host: 101.200.138.180:17345 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,i…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
