从键盘输入两个整型变量a和n的值,求a+aa+aaa+aa……a(n个a)之和。例如,若输入2和3,则输出序列和为246(2+22+222)。 要求定义函数double fun(int a,int n)计算并返回a...a(n个a)之值。
时间: 2023-10-17 16:05:36 浏览: 159
输入两个正整数a和n,求a+aa+aaa+…+aa…a(n个a)之和
好的,下面是代码实现:
```c
#include <stdio.h>
double fun(int a, int n)
{
int sum = 0, t = a;
for (int i = 1; i <= n; i++)
{
sum += t;
t = t * 10 + a;
}
return sum;
}
int main()
{
int a, n;
printf("请输入a和n的值:");
scanf("%d %d", &a, &n);
double result = fun(a, n);
printf("序列和为%.0f\n", result);
return 0;
}
```
函数 `fun` 中,我们使用了一个循环,每次计算当前的 `t` 值和总和 `sum`,并将 `t` 更新为下一个数。最后返回总和即可。
在 `main` 函数中,我们先从键盘输入 `a` 和 `n` 的值,然后调用 `fun` 函数计算序列和,并输出结果。
注意,这里的返回值类型为 double,因为可能出现非整数结果。
运行程序,输入 `2` 和 `3`,可以得到输出:
```
请输入a和n的值:2 3
序列和为246
```
阅读全文