当前位置:网站首页>C语言初级—从键盘接收一个整形并逆序输出
C语言初级—从键盘接收一个整形并逆序输出
2022-08-02 14:03:00 【iccoke】
从键盘接收一个整形并逆序输出
基本思想:从键盘接收一个整形并且逆序输出,大体思路是从键盘输入一个整形,然后获取到这个整形的每一位,最后再将每一位逆序输出
在获取键盘输入的数的每一位之前,首先应该获取键盘输入数的位数
https://blog.csdn.net/iccoke/article/details/125818553?spm=1001.2014.3001.5501
从这可以获取到键盘输入数的位数
具体代码如下
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main(){
int num;
scanf("%d", &num);
int count = 0;
while (num != 0);
{
num /= 10;
count++;
}得到的count即为键盘输入整形的位数
逆序输出的代码如下
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main(){
int num;
scanf("%d", &num);
int result = 0;
int count = 0;
int src = num;
while (num != 0);
{
num /= 10;
count++;
}
num = src;
while (count > 0)
{
result += num % 10 * (int)pow(10, count -1);
count--;
num /= 10;
}
printf("%d\n", result);
return 0;
}
我们关注这个代码中的关键几处
int src = num;
num = src;
这两处代码的作用是因为在获取位数和逆序输出的数为同一个数,如果在循环之后直接使用,有可能会出现数据错错误
因此这段代码的作用是记录从键盘接收的整形数并保存,并在逆序输出时使用,防止发生因循环后数据产生错误的情况。
result += num % 10 * (int)pow(10, count -1);
因为pow计算之后默认为double值,而result为int值,无法将一个double值赋给一个int值,这样会发生数据的泄露,因此用(int)对pow计算结果进行强制转换。
同时使用pow等数学函数时,应在头文件加入#include<math.h>。
边栏推荐
- Introduction and use of Haystack
- Basic operations of 8583 sequential stack
- c语言三子棋详解!!! (电脑智能下棋)(附上完整代码)
- yolov5,yolov4,yolov3 mess
- 第五单元 保持状态
- Flask-RESTful请求响应与SQLAlchemy基础
- Deep learning framework pytorch rapid development and actual combat chapter3
- Flask请求应用上下文源码分析
- static关键字3种作用,简单粗暴对比,好理解
- drf serializer - Serializer
猜你喜欢
![[ROS]roscd和cd的区别](/img/a8/a1347568170821e8f186091b93e52a.png)
[ROS]roscd和cd的区别

verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十二章)

重新学习编程day1 【初始c语言】【c语言编写出计算两个数之和的代码】

8581 Linear linked list inversion

Camera Hal(Hal3)层修改Preview流

瑞吉外卖笔记——第08讲读写分离

yolov5,yolov4,yolov3乱七八糟的

How does Apache, the world's largest open source foundation, work?

STM32 (F407) - stack

paddleocr window10初体验
随机推荐
Unit 15 Paging, Filtering
drf序列化器-Serializer
第六单元 初识ORM
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十二章)
redis延时队列
第五单元 保持状态
[ROS] (01) Create ROS workspace
redis delay queue
ToF相机从Camera2 API中获取DEPTH16格式深度图
Flask框架深入一
8581 Linear linked list inversion
第十三单元 混入视图基类
[ROS](02)创建&编译ROS软件包Package
Go语言初始
Implementation of redis distributed lock and watchdog
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十四章)
云片网案例
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第九章)
第十二单元 关联序列化处理
What are the file encryption software?Keep your files safe