当前位置:网站首页>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>。
边栏推荐
猜你喜欢
随机推荐
第八单元 中间件
我的第一篇博客
[ROS] The software package of the industrial computer does not compile
paddle window10环境下使用conda安装
Flask-RESTful request response and SQLAlchemy foundation
C语言sizeof和strlen的区别
瑞吉外卖笔记——第05讲Redis入门
8583 顺序栈的基本操作
[ROS] The difference between roscd and cd
第四单元 路由层
编程规范——LiteOS
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十章)
Minio文件上传
Swagger 的使用
paddleocr window10 first experience
yolov5改进(一) 添加注意力集中机制
drf routing component Routers
【VCU】详解S19文件(S-record)
chapter7
深度学习框架pytorch快速开发与实战chapter3