编写一个简单的C程序来生成、打印和计数来自您名字(或拼音)的所有字符串。例如,如果您的名字是“ABA”,您的程序应该生成“a”、“b”、“aa”、“ab”、“ba”、“AAB”、“ABA”、“baa”。
时间: 2023-05-31 07:04:20 浏览: 159
#include <stdio.h>
#include <string.h>
void generate_strings(char *name, int len) {
int i, j, k, count = 0;
char str[len+1];
for (i = 0; i < len; i++) {
for (j = 0; j <= i; j++) {
str[j] = name[j];
}
for (k = j; k <= len; k++) {
str[k] = '\0';
printf("%s\n", str);
count++;
}
}
printf("Total strings generated: %d\n", count);
}
int main() {
char *name = "ABA";
int len = strlen(name);
generate_strings(name, len);
return 0;
}
相关问题
用c语言编写一个输入一个字符串,要求每两个字符直接插入一个#号的程序
空格的程序。
以下是一个用C语言编写的输入字符串并插入空格的程序:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j, len;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0, j = 0; i < len; i += 2, j++)
{
printf("%c%c ", str[i], str[i+1]);
}
printf("\n");
return 0;
}
```
程序首先定义一个字符数组 `str`,用于存储输入的字符串。然后使用 `scanf` 函数从标准输入中读取字符串,并使用 `strlen` 函数获取字符串的长度。
接下来,程序使用一个循环,每次取出两个字符并在它们之间插入一个空格,然后输出到标准输出中。循环变量 `i` 每次增加 2,而循环变量 `j` 则用于计数,以便在输出时插入空格。
最后,程序输出一个换行符并返回 0,表示程序正常结束。
用c语言编写一个程序,要求用户输入一个字符串,该程序将计数并输出该字符串中连续重复字符的最大数量。
您好,以下是代码实现:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int maxCount = 0;
int currentCount = 1;
printf("请输入一个字符串:\n");
scanf("%s", str);
int len = strlen(str);
for (int i = 1; i < len; i++) {
if (str[i] == str[i-1]) {
currentCount++;
} else {
if (currentCount > maxCount) {
maxCount = currentCount;
}
currentCount = 1;
}
}
if (currentCount > maxCount) {
maxCount = currentCount;
}
printf("该字符串中连续重复字符的最大数量为:%d\n", maxCount);
return 0;
}
```
如果您有其它问题可以继续提问。