C语言--求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字, 例如:2+22+222+2222+22222

求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,

例如:2+22+222+2222+22222

观察算式,发现第几个加数就有几个2。因此我们可以考虑使用一个for循环,来满足我们循环5次,每次让a变为下一个数的目的,同时需定义一个val变量,每循环一次就加上a,加五次即可得出结果。

那么如何让a变成aa……aaaaa呢?我们以2举例:

第一次循环:22 = 2 + 20(20 = 2 * 10)
第二次循环:222 = 2 + 220(220 = 22 * 10)

第五次循环:22222 = 2 + 22220(22220 = 2222*10)

所以,我们可以在每次循环的时候,让a加上上一次循环的a*10得到新的a。a = a%10 + a*10;

代码如下:
注意:因为应该只能求0-9范围内的这个数字,所以每次提示输入应该输入0-9,否则提示重新输入:

int main(
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值