(1)编写函数void count(char *str,int *a)统计字符串str中大写字母、小写字母、空格、数字以及其他字符的个数,统计的结果保存到数组a中。在main函数中调用该函数。
时间: 2023-05-03 22:01:50 浏览: 97
这个问题是要求我们写一个函数 void count(char *str, int *a),用来统计字符串 str 中大写字母、小写字母、空格、数字以及其他字符的个数,并将结果存储到整型数组 a 中。在主函数中调用该函数。
相关问题
编写函数void count(char *str,int *a)统计字符串str中大写字母、小写字母、空格、数字以及其他字符的个数,统计的结果保存到数组a中。在main函数中调用该函数。
题目要求编写一个函数,函数名为count,参数为一个指向字符数组的指针和一个指向整型数组的指针。函数的作用是统计字符串中大写字母、小写字母、空格、数字以及其他字符的个数,并将统计结果保存到整型数组中。在主函数中调用该函数。
函数的实现可以采用循环遍历字符串的方式,对每个字符进行判断,根据字符的ASCII码值来判断其属于哪一类字符,然后将对应的计数器加1。最后将计数器的值存入整型数组中即可。
函数的代码如下:
void count(char *str, int *a)
{
int i;
for (i = 0; str[i] != '\0'; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
a[0]++;
else if (str[i] >= 'a' && str[i] <= 'z')
a[1]++;
else if (str[i] == ' ')
a[2]++;
else if (str[i] >= '0' && str[i] <= '9')
a[3]++;
else
a[4]++;
}
}
在主函数中调用该函数的代码如下:
int main()
{
char str[100];
int a[5] = {0};
printf("请输入字符串:");
gets(str);
count(str, a);
printf("大写字母:%d\n", a[0]);
printf("小写字母:%d\n", a[1]);
printf("空格:%d\n", a[2]);
printf("数字:%d\n", a[3]);
printf("其他字符:%d\n", a[4]);
return 0;
}
void count(char *str,int *upper,int *lower,int *space,int *num,int *other);int strlen(char *p)
`void count(char *str, int *upper, int *lower, int *space, int *num, int *other); int strlen(char *p)` 这两个函数声明分别代表:
1. `count` 函数是一个接受6个参数的无返回值(void)函数。它接收一个字符指针 `str`,以及5个整型指针 `upper`, `lower`, `space`, `num`, 和 `other`。这个函数很可能用于统计字符串 `str` 中大写字母、小写字母、空格、数字以及其他字符的数量,并将结果存储在相应的指针所指向的位置。
- `upper`: 存储大写字母的数量
- `lower`: 存储小写字母的数量
- `space`: 存储空格的数量
- `num`: 存储数字的数量
- `other`: 可能存储其他非字母、非数字字符的数量
2. `strlen` 函数则是计算输入字符串 `p` 的长度(即字符数),这是一个返回整数的函数。它不需要传入额外的参数,直接通过输入的字符指针来确定字符串的结束位置。
举个例子,如果你有一个字符串,你可以这样调用这两个函数:
```c
char str[] = "Hello World! 123";
int upper, lower, space, num, other;
int string_length;
strlen(str); // 获取字符串长度并赋值给string_length
count(str, &upper, &lower, &space, &num, &other);
```
阅读全文