C语言把给定的数构成一个新数案例讲解

说明:

前几天写的博客C语言取出一个长整型数中的偶数并构成一个新数案例讲解代码块里有一段是关于把给定的数构成一个新数的内容,评论区有小伙伴留言说不懂其中的原理,今天单独分析一下。

思路分析

我们先看例子:把数字1,2,3构成一个新数123。

我们可以看出:

3是构成新数中的个位上的数,也就是3乘以10的0次方,也可以表示为3乘以1;2是构成新数中的十位上的数,也就是2乘以10的1次方;1是构成的新数中的百位上的数,也就是1乘以10的2次方。然后把他们相加就是构成新数123。

以把数字1,2,3构成一个新数123为例进行代码编写。

代码如下

#include <stdio.h>
#define N 3
void main(){
	int arr[N]={1,2,3};//定义一个数组并赋值
	int i,sum=0,d=1;
	for(i=N-1;i>=0;i--){//逆序遍历数组的数字
		sum+=arr[i]*d;//构成新数的个位上的数字需要乘以10的0次方,也可以理解为直接乘以1
		d=d*10;/*构成新数的十位上的数字需要乘以10的1次方,
			   百位上的数字需要乘以10的平方,所以循环的时候d需要累乘10
			   然后把把他们相加就是构成的新数*/
	}
	printf("%d",sum);
}
//本例题需要逆序序遍历数组的数字,所以这样写:for(i=N-1;i>=0;i--)
//如果例题需要正序遍历数组的数字,可以这样写;for(i=0;i<N;i++)
//说明:N表示数组的数字个数

代码运行结果如下

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值