c语言输出s=a+aa+aaa+…+aaa…a
时间: 2023-12-16 18:03:47 浏览: 43
以下是两种C语言输出s=a+aa+aaa+…+aaa…a的例子:
1.利用循环实现
```c
#include <stdio.h>
#include <math.h>
int main()
{
int a, n, sum = 0, t = 0;
scanf("%d %d", &a, &n);
for (int i = 1; i <= n; i++) {
t += a * pow(10, i - 1);
sum += t;
}
printf("%d", sum);
return 0;
}
```
2.利用字符串拼接实现
```c
#include <stdio.h>
#include <string.h>
int main()
{
char a[10];
int n, sum = 0;
scanf("%s %d", a, &n);
char s[100] = {0};
for (int i = 0; i < n; i++) {
strcat(s, a);
sum += atoi(s);
}
printf("%d", sum);
return 0;
}
```
相关问题
c语言实现s=a+aa+aaa+aaaa+aaaaa,a=2
下面是C语言实现s=a+aa+aaa+aaaa+aaaaa,a=2的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int a, n, i, sum = 0;
printf("请输入a和n的值:");
scanf("%d%d", &a, &n);
for (i = 1; i <= n; i++)
{
sum += a * (pow(10, i) - 1) / 9;
}
printf("s=%d\n", sum);
return 0;
}
```
代码说明:
1. 首先,我们需要从键盘输入a和n的值,这里使用了scanf函数。
2. 然后,我们使用for循环来计算s的值。循环变量i从1到n,每次循环都将a、aa、aaa、aaaa、aaaaa等n个数相加,并将结果累加到sum中。
3. 在循环中,我们使用了pow函数来计算10的i次方,然后用这个数减去1,再除以9,就可以得到aa…aaa(有n个a)的值。
4. 最后,我们输出sum的值,即为s。
c语言:求sn=a+aa+aaa
以下是两种C语言求Sn=a+aa+aaa的例子:
1.使用循环计算
```c
#include <stdio.h>
int func(int a, int n){
int result = 0; // 结果
int i = 0; // 每次累加的结果为上一次的加数*10再加a
int add = a;
while (i < n) // 循环n次,也就是n项和
{
result += add;
add = add * 10 + a;
i++; }
return result;
}
int main(){
int a, n;
printf("请输入a和n:\n");
scanf("%d%d", &a, &n);
printf("结果为:%d\n", func(a, n));
return 0;
}
```
2.使用数学公式计算
```c
#include <stdio.h>
#include <math.h>
int func(int a, int n){
int result = 0;
int i;
for (i = 1; i <= n; i++)
{
result += a * (pow(10, i) - 1) / 9;
}
return result;
}
int main(){
int a, n;
printf("请输入a和n:\n");
scanf("%d%d", &a, &n);
printf("结果为:%d\n", func(a, n));
return 0;
}
```