用C语言写程序:输入正整数a和n,计算s=a+aa+aaa+aaaa+aa...a(n个a)的值。
时间: 2023-10-22 11:09:54 浏览: 665
这是一个不错的计算问题。您可以使用循环来实现这个计算。首先,您需要将输入的数字 a 转换为字符串,以便可以在后面迭代中将其相加。然后,您可以使用循环来迭代 n 次,并每次将字符串 a 追加到一个新字符串中。最后,您可以将新字符串转换为数字并将其打印出来,这将是 s 的值。
具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main(){
int a, n, i;
int result = 0;
char* str_a;
char* tmp_str = malloc(1000 * sizeof(char));
char* s = malloc(10000 * sizeof(char));
memset(s, 0, 10000 * sizeof(char));
printf("请输入a和n的值:\n");
scanf("%d%d", &a, &n);
str_a = malloc(10 * sizeof(char));
sprintf(str_a, "%d", a);
for(i = 0; i < n; i++){
memset(tmp_str, 0, 1000 * sizeof(char));
strcat(tmp_str, str_a);
strcat(s, tmp_str);
result += atoi(tmp_str);
}
printf("计算结果:%d\n", result);
free(str_a);
free(s);
free(tmp_str);
}
当然,您可以在上述代码中添加一些错误检查和其他功能,以使其更加完整和可靠。
相关推荐

















