用c语言求Sn=1+12+123+1234+12345+123456+……+123456789,其中n为1到9的数,如从键盘输入5,则计算Sn=1+12+123+1234+12345,并按1+12+123+1234+12345=?的格式输出。
时间: 2023-06-09 13:08:31 浏览: 180
好的,让我来为您解答这个问题。我们可以使用循环语句和字符串拼接的方式来求解。
以下是用C语言求Sn的程序:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int n, i, j;
char numStr[100] = ""; // 用于拼接数字的字符串
char snStr[100] = ""; // 最终的Sn字符串
printf("请输入n的值(1-9):");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
// 每次循环拼接一个数字
char digitStr[10] = "";
for (j = 1; j <= i; j++) {
sprintf(digitStr, "%d", j); // 将数字转为字符串
strcat(numStr, digitStr); // 拼接数字
}
strcat(snStr, numStr); // 将拼接好的数字追加到Sn中
strcat(snStr, " "); // 加上空格
numStr[0] = '\0'; // 清空numStr
}
snStr[strlen(snStr) - 1] = '\0'; // 去掉末尾的空格
printf("%s=?", snStr);
return 0;
}
```
输入5后,程序的输出结果为:
```
1 12 123 1234 12345=?
```
希望能够解决您的问题,有其他问题可以继续问我哦。
阅读全文