使用C语言生成一段接受字符串的代码
时间: 2024-09-09 20:14:49 浏览: 48
penna程序代码(c程序)
5星 · 资源好评率100%
在C语言中,要编写一个程序来接收字符串并执行特定操作,如过滤字母并计算字母数量,你可以这样做:
引用[1]中提到的字符串字符全排列示例(仅用于演示递归排列):
```c
#include <stdio.h>
#include <string.h>
void permute(char *str, int l, int r) {
if (l == r)
printf("%s\n", str);
else {
for(int i = l; i <= r; i++) {
char temp = str[l];
str[l] = str[i];
str[i] = temp;
permute(str, l+1, r);
// 恢复原始字符顺序
temp = str[l];
str[l] = str[i];
str[i] = temp;
}
}
}
int main() {
char str[] = "abc";
int n = strlen(str);
permute(str, 0, n-1);
return 0;
}
```
引用[2]中提到的过滤字母并计数的示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的函数
int count_alpha(char* str) {
int count = 0;
while (*str) {
if(isalpha(*str)) { // 检查字符是否为字母
count++;
}
str++; // 移动指针到下一个字符
}
return count;
}
int main() {
char input_str[] = "ab234$df4";
char filtered_str[strlen(input_str)];
int i = 0;
for(char c : input_str) {
if(isalpha(c)) { // 只保留字母
filtered_str[i++] = c;
}
}
filtered_str[i] = '\0'; // 结束字符串
printf("Filtered string: %s\n", filtered_str);
printf("Number of letters: %d\n", count_alpha(filtered_str));
return 0;
}
```
阅读全文