从键盘输入一个字符串存放在一个字符数组中,把第一个字符重复1次,第2个字符重复两次,第n个字符重复n次,形成一个新的字符串
时间: 2024-03-02 19:52:16 浏览: 58
从键盘输入一串字符,分别统计其中的字母,数字字符和其他[文].pdf
以下是用 C 语言实现把输入字符串中的每个字符重复 n 次,形成一个新的字符串的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
char newStr[MAX_LEN * (len+1)]; // 新字符串的长度最多为原字符串长度的 (len+1) 倍
int k = 0; // 新字符串的下标
for (int i = 0; i < len; i++) {
for (int j = 0; j <= i; j++) {
newStr[k++] = str[i];
}
}
newStr[k] = '\0'; // 字符串结尾加上 '\0'
printf("新的字符串为:%s\n", newStr);
return 0;
}
```
程序首先从键盘输入一个字符串,然后计算出字符串的长度。为了避免新字符串溢出,我们可以将新字符串的长度设为原字符串长度的 (len+1) 倍。接下来,使用两重循环将原字符串中的每个字符重复 n 次,并放入新字符串中。最后,将新字符串的结尾加上 '\0',输出新的字符串。
阅读全文