C语言初级—从键盘接收一个整形并逆序输出

这篇博客介绍了如何在C语言中实现从键盘接收一个整数并逆序输出的方法。首先通过计算获取输入整数的位数,然后利用数学运算逆序每位数字,最后输出。关键代码包括对输入整数的位数计数和逆序过程,注意了数据类型的转换和防止数据错误。

从键盘接收一个整形并逆序输出

基本思想:从键盘接收一个整形并且逆序输出,大体思路是从键盘输入一个整形,然后获取到这个整形的每一位,最后再将每一位逆序输出

在获取键盘输入的数的每一位之前,首先应该获取键盘输入数的位数

https://blog.youkuaiyun.com/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>。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值