用c语言输入一串字符,以“#”结束,输出其中小写字母个数、大写字母个数以及数字个数。
时间: 2024-05-02 10:22:46 浏览: 197
”为分隔符,将每个子串分别存入一个字符串数组中。
您好,以下是c语言代码实现您描述的功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str[100], substr[20][20]; // str用于存储输入的原始字符串,substr用于存储分割后的子串
int i, j, k = 0, len; // i、j、k、len均为循环遍历或处理字符串的计数变量
printf("请输入一串字符:");
gets(str); // 使用gets函数获取一行字符串
len = strlen(str); // 获取原始字符串的长度
for (i = 0; i <= len; i++) {
if (str[i] != '\n' && str[i] != '\r' && str[i] != '\0' && str[i] != ' ') {
// 判断当前字符是否为分割符,若不是则将其添加到子串中
substr[k][j] = str[i];
j++;
} else if (j != 0) {
// 若当前字符为分割符且当前子串不为空,则将子串添加到substr中
substr[k][j] = '\0';
k++;
j = 0;
}
}
for (i = 0; i < k; i++) {
printf("第%d个子串为:%s\n", i + 1, substr[i]);
}
return 0;
}
```
以上代码中,我们首先通过`gets()`函数获取一行字符串,然后通过`strlen()`函数获取该字符串的长度。
接着,我们利用循环遍历字符串,将每个分割后的子串存储到二维字符串数组`substr`中。
最后,我们再次循环输出该数组中的每个子串。
PS:gets函数属于不安全的函数,尽量避免使用。
阅读全文