题目描述:
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个一位数的数字,例如:2+22+222+2222+22222
解题思路:
观察题目可得:后一项等于前一项乘10加a(第一项)的结果
因此我们可以用下面的方法,即for循环和自加完成所有的运算
for (int i = 0; i<5; i++)
{
tmp = tmp * 10 + a;
sum = sum + tmp;
}
完整代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 0;
int sum = 0;
int tmp = 0;
printf("输入一个数:");
scanf("%d", &a);
for (int i = 0; i<5; i++)
{
tmp = tmp * 10 + a;
sum += tmp;
}
printf("输出结果为:");
printf("%d", sum);
system("pause");
return 0;
}
运行结果:

本文介绍了一个使用C语言解决数学问题的实例,通过循环和自加操作计算Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一到九的任意数字。代码详细展示了如何初始化变量、读取用户输入并计算最终结果。
2400

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



