编写C语言编程,求解sn=a+aa+aaa+aaaa+a.….a其中a是1-9中的一个数,n是正整数,a和n都键盘输入。(例如 a是8, n是4, sn=8+88+888+8888)
时间: 2023-11-21 15:11:01 浏览: 90
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int a, n, sn = 0;
printf("请输入一个数字 a (1-9之间):");
scanf("%d", &a);
printf("请输入一个正整数 n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sn += a * (pow(10, i) - 1) / 9;
}
printf("s%d = %d\n", n, sn);
return 0;
}
```
程序首先从键盘输入数字a和正整数n,然后使用for循环计算出sn的值。在每一次循环中,使用公式a + aa + aaa + ... + a...a(共i个a)来计算出当前的值,并将其累加到sn中。最后,程序输出结果。
需要注意的是,由于n可能非常大,因此如果使用pow函数计算10的n次方,可能会导致精度问题。在实际开发中,可以使用循环计算10的n次方,或者使用其他方式来解决这个问题。
阅读全文