求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()
{
int a = 0;
while

该博客探讨了如何使用C语言计算Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字。通过观察算式规律,采用循环结构,每次迭代时将a乘以10累加到总和,以递增方式构造每个加数。代码实现中还包括了输入验证,确保a在0-9的范围内。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



