(C语言)1004 三位数的数位分离

题目描述

从键盘输入一个任意的三位正整数,分别求出其个位、十位和百位上的数字。

输入

输入任意的一个三位正整数。

输出

依次输出个位、十位、百位上的数字。以空格间隔,但最后一个数据的后面没有空格,直接换行。

样例输入 Copy

367

样例输出 Copy

7 6 3

 设计思路

1.输入

首先,程序需要从用户那里获取一个三位数。这是通过scanf()函数实现的。

2.处理

个位:使用取模运算符%获取个位数字。由于任何数除以10的余数就是其个位数字,因此num % 10可以得到个位。

十位:首先通过num % 100去掉百位,然后使用取模运算符%获取十位和个位,再通过减法去掉个位,最后除以10得到十位。即(num % 100 - (num % 10)) / 10

百位:百位是三位数中最高的位,因此直接使用除法运算符/与100相除即可得到。

3.输出

使用printf()函数将计算得到的个位、十位和百位数字输出。

4.三位数分离的思路

个位:由于个位是最低位,所以直接使用取模运算符%与10相除即可得到。

十位:十位位于个位之前,可以通过先去掉个位(使用num % 100),然后再次使用取模运算符%与10相除,最后通过减法去掉个位,得到十位

百位:百位是三位数中最高的位,因此直接使用除法运算符/与100相除即可得到。

5.更多分离方法

(1)直接除法

对于个位和百位,可以直接使用除法运算符/来获取。

(2)取模与减法结合

对于十位,可以结合取模运算符%和减法运算符-来获取。

(3)数学公式

也可以使用数学公式来简化计算,例如((num / 10) % 10)来获取十位。

(4)数组或字符串处理

将数字转换为字符串或数组,然后分别访问每个字符或元素来获取个位、十位和百位。


示例代码

#include <stdio.h>
#include <stdlib.h>

void main() 
{
	int num;	//任意的三位正整数
	int a,b,c;	//分别对应个位、十位、百位
	scanf("%d",&num);
	a=num%10;	//个位上的数字
	b=(num%100-a)/10;	//十位上的数字
	c=num/100;	//百位上的数字
	printf("%d %d %d\n",a,b,c);
}
	

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值