手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

c语言如何忽略前导零

时间:2024-10-13 09:37:36

1、先确定相关策略和解决办法,然后打开编辑器开始编写程序。我一般使用Vim编辑器。在反转数字的时候,有时末尾的数字会有0,在反转后,不应当将它们保留。

c语言如何忽略前导零

2、末尾为零时,可以利用除法恽但炎杰和求模运算的特性来处理。在这里,求模运算可以理解为求余数。在整型的运算中,会忽略小数部分。比如,一个三位数反转可以这样操作:先利用求模运算,求10的余数,就可以获脲摩喜清得个位的数字。然后利用除法,每次除以10,商就是原数字去掉个位的部分,再利用求模运算,依次这样就可以取得各位数字。由于末尾会有零,还得进一步处理,这里可以利用0的性质,它与任何数相乘都为零。上一个步骤中取得了各位数字,以三位数为例,这里可以这样组成反转数字:反转数字=原个位数字x100+原十位数字x10+原百位数字也就是说,从首位到个位数,依次从1到10的总位数次幂相乘,然后再相加,就是反转后的数字。下图中的代码中“tmp”指原数字,“pow”指的就是10的次幂,比如1、10、100……

c语言如何忽略前导零

3、但在那之前,需要一些准备工作,需要确定数字的位数。同上方异曲同工,原数字自身依次除以10,直到变为0,总次数就是数字位数。下图中,“num”指原数字。

c语言如何忽略前导零

4、以下是整段代码。当然,你也可以利用字符组,将数字视为字符串,然后再依次处理。但我为了可以把反转后的数字当作变量,而不仅仅只是输出,因此选择以这种方式进行反转。

c语言如何忽略前导零

5、然后进行编译。我一般使用gcc编译器。由于这段代码中,使用了C语言新标准的一些粝简肯惧内容(比如注释),因此添加了参数-std=c11。以下是我的编译命令:gcc -std=c11 reverse.c -o reverse.out

c语言如何忽略前导零

6、下面是运行结果,大体上还算可以。会发现如果数字过大,会溢出,导致错误的结果。因此,为了可以使用更大的数字,可以改用long long、unsigned long long等整型变量类型。

c语言如何忽略前导零
© 手抄报圈