用C语言写,给定两个均不超过9的正整数a和n,要求编写函数求a+aa+aaa++⋯+aa⋯a(n个a)之和。 要求定义并调用函数fn(a,n),它的功能是返回aa⋯a(n个a)。
时间: 2023-07-16 08:13:05 浏览: 90
可以按照以下步骤编写函数:
1. 定义函数`int fn(int a, int n)`,返回值为aa⋯a(n个a)的值。
2. 在`fn`函数中,使用循环将a拼接n次,计算aa⋯a的值,并返回。
3. 定义函数`int sum(int a, int n)`,返回值为a+aa+aaa++⋯+aa⋯a(n个a)之和。
4. 在`sum`函数中,使用循环依次计算每个aa⋯a的值,并将它们累加起来。
5. 在主函数中调用`sum`函数,并将结果打印出来。
下面是完整的代码实现:
```c
#include <stdio.h>
int fn(int a, int n) {
int result = 0;
for (int i = 0; i < n; i++) {
result = result * 10 + a;
}
return result;
}
int sum(int a, int n) {
int result = 0;
int temp = 0;
for (int i = 1; i <= n; i++) {
temp = fn(a, i);
result += temp;
}
return result;
}
int main() {
int a, n;
printf("请输入a和n的值:");
scanf("%d %d", &a, &n);
int result = sum(a, n);
printf("a+aa+aaa+...+(%d 个a)=%d\n", n, result);
return 0;
}
```
示例输出:
```
请输入a和n的值:2 3
a+aa+aaa+...(3 个a)=246
```
阅读全文