首先我们先看一下题目:将一个三位数的百位,十位,个位分别打印出来。
我们来理解一下题目的意思:表面上看是分别将一个三位数的每一位打印出来,仔细想一想,联系所学,其实它考察的就是我们的itoa函数,那何为itoa函数呢,顾名思义,就是讲一个整型转化为字符串类型输出而已。
然后我们来具体的分析一下:比如我输入一个数字123然后需要将它输出为1、2、3,好的,那我们要怎么操作呢?个位的输出是最简单的,对这个三位数进行10取模然后结果就是个位了,那十位和百位怎么操作呢?且听我细细道来。十位的输出其实也挺简单的,我们先对这个三位数进行除以10运算,得到一个整型数字12,然后我们再对其进行10取模,得到的结果即为十位上的数字。百位的输出怎么输出呢也就很显而易见了,我们只需要在之前对这个三位数进行除以10运算的基础上再除以10得到的一个整型数即为所求的百位上的数。
具体的流程:123 % 10 = 3;
123 / 10 = 12;
12 % 10 = 2;
12 / 10 = 1;
算法的大致执行过程就是这样。其实我们只需要执行一个循环体就能搞定。
下面的是具体的代码:
#include <stdio.h>
#include <string.h>
int itoa(int num,char *str)
{
char *temp = str;
while(num != 0)
{
*str = num % 10 + '0';//先对该数字对10取模
str++;
num = num / 10;//将该数字除以10
}
将一个数字的每一位分别打印出来
最新推荐文章于 2022-10-09 20:00:00 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)