输入一组字符,要求分别统计出其中英文字母、数字、空格以及其它字符的个数。 不使用strcpy()函数,实现字符串的复制功能。 不使用strcat()函数,实现两个字符串的连接功能。 不使用strlen()函数,求字符串的长度。
时间: 2023-09-23 12:06:04 浏览: 120
从键盘输入一串字符,分别统计其中的字母(不区分大小写)、数字字符和其他[借鉴].pdf
### 回答1:
统计字符个数的代码:
```c
#include <stdio.h>
int main() {
char str[100];
int letter_count = 0, digit_count = 0, space_count = 0, other_count = 0;
printf("请输入一组字符:\n");
fgets(str, 100, stdin); // 使用fgets()函数输入字符串
for (int i = 0; str[i] != '\0'; i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
letter_count++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit_count++;
} else if (str[i] == ' ') {
space_count++;
} else {
other_count++;
}
}
printf("字母个数:%d\n数字个数:%d\n空格个数:%d\n其他字符个数:%d\n", letter_count, digit_count, space_count, other_count);
return 0;
}
```
复制字符串的代码:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100];
int i;
printf("请输入要复制的字符串:\n");
fgets(str1, 100, stdin);
for (i = 0; str1[i] != '\0'; i++) {
str2[i] = str1[i];
}
str2[i] = '\0'; // 加上字符串结束标志
printf("复制后的字符串为:%s\n", str2);
return 0;
}
```
连接字符串的代码:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100];
int i, j;
printf("请输入第一个字符串:\n");
fgets(str1, 100, stdin);
printf("请输入第二个字符串:\n");
fgets(str2, 100, stdin);
for (i = 0; str1[i] != '\0'; i++); // 找到第一个字符串的结束位置
for (j = 0; str2[j] != '\0'; j++) {
str1[i + j] = str2[j]; // 把第二个字符串连接到第一个字符串后面
}
str1[i + j] = '\0'; // 加上字符串结束标志
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
求字符串长度的代码:
```c
#include <stdio.h>
int main() {
char str[100];
int len = 0;
printf("请输入一个字符串:\n");
fgets(str, 100, stdin);
for (int i = 0; str[i] != '\0'; i++) {
len++;
}
printf("字符串的长度为:%d\n", len);
return 0;
}
```
### 回答2:
题目要求分别统计一组字符中的英文字母、数字、空格以及其他字符的个数。下面是一个示例代码实现:
```python
def count_characters(string):
letter_count = 0
digit_count = 0
space_count = 0
other_count = 0
for char in string:
if char.isalpha():
letter_count += 1
elif char.isdigit():
digit_count += 1
elif char.isspace():
space_count += 1
else:
other_count += 1
print("英文字母个数:", letter_count)
print("数字个数:", digit_count)
print("空格个数:", space_count)
print("其他字符个数:", other_count)
# 测试示例
string = "Hello World! 123"
count_characters(string)
```
对于复制字符串的功能,可以使用以下代码实现:
```python
def copy_string(string):
new_string = ""
for char in string:
new_string += char
return new_string
# 测试示例
string = "Hello World!"
copied_string = copy_string(string)
print("复制后的字符串:", copied_string)
```
对于连接两个字符串的功能,可以使用以下代码实现:
```python
def concatenate_strings(string1, string2):
new_string = ""
for char in string1:
new_string += char
for char in string2:
new_string += char
return new_string
# 测试示例
string1 = "Hello"
string2 = " World!"
concatenated_string = concatenate_strings(string1, string2)
print("连接后的字符串:", concatenated_string)
```
求字符串的长度可以使用以下代码实现:
```python
def calculate_length(string):
length = 0
for char in string:
length += 1
return length
# 测试示例
string = "Hello World!"
length = calculate_length(string)
print("字符串的长度:", length)
```
以上是使用Python语言编写的示例代码,实现了题目中所要求的功能。
### 回答3:
对于输入的一组字符,可以使用循环遍历字符数组,并对每个字符进行判断和统计。具体做法如下:
1. 统计英文字母个数:通过判断字符的ASCII码值,如果在65-90或者97-122之间,则表示是英文字母,对英文字母计数器加1。
2. 统计数字个数:通过判断字符的ASCII码值,如果在48-57之间,则表示是数字,对数字计数器加1。
3. 统计空格个数:通过判断字符是否为空格字符,对空格计数器加1。
4. 统计其他字符个数:将前面三种情况以外的字符计入其他字符计数器。
5. 字符串复制功能:定义一个新的字符数组,使用循环遍历将原字符串的每个字符逐个复制到新的字符数组中即可。
6. 两个字符串连接功能:先遍历第一个字符串,将每个字符逐个复制到新的字符数组中,然后再遍历第二个字符串,将第二个字符串的每个字符逐个复制到新的字符数组中。
7. 求字符串长度:使用循环遍历字符数组,每遍历一个字符计数器加1,直到遍历到字符串的结束符号'\0'为止,最后得到的计数器值即为字符串的长度。
以上是对每个问题的基本思路和实现方法,具体代码可以根据所用编程语言和环境的不同进行相应的编写和调试。
阅读全文