编程统计字符数组的小写字母个数,c语言
时间: 2024-05-07 10:17:09 浏览: 58
可以使用循环遍历字符数组,对于每个字符进行判断是否为小写字母,如果是,则统计计数器加1。具体代码如下所示:
```c
#include <stdio.h>
int countLowerCase(char str[]) {
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
count++;
}
}
return count;
}
int main() {
char str[] = "AbCdeFgHiJkLmNoPqRsTuVwXyZ";
int count = countLowerCase(str);
printf("The number of lowercase letters is %d", count);
return 0;
}
```
输出结果如下:
```
The number of lowercase letters is 13
```
相关问题
用c语言写一个函数,要求传入链表头节点后,把单链表节点按字符数组首字母的字母表顺序排序,要区分大小写,最后再返回这个链表的头节点
好的,这是一个关于编程的问题,我可以回答。以下是一个示例代码,可以实现按照字符数组首字母的字母表顺序对单链表节点进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node {
char data[20];
struct node *next;
} Node;
Node *sortList(Node *head) {
if (head == NULL || head->next == NULL) {
return head;
}
Node *p = head;
Node *q = head->next;
Node *r = NULL;
while (q != NULL) {
p = head;
while (p != q) {
if (strcmp(p->data, q->data) > 0) {
char temp[20];
strcpy(temp, p->data);
strcpy(p->data, q->data);
strcpy(q->data, temp);
}
p = p->next;
}
r = q;
q = q->next;
}
return head;
}
int main() {
Node *head = (Node *)malloc(sizeof(Node));
strcpy(head->data, "hello");
head->next = (Node *)malloc(sizeof(Node));
strcpy(head->next->data, "world");
head->next->next = (Node *)malloc(sizeof(Node));
strcpy(head->next->next->data, "apple");
head->next->next->next = NULL;
Node *p = sortList(head);
while (p != NULL) {
printf("%s ", p->data);
p = p->next;
}
printf("\n");
return 0;
}
```
这个函数接受一个链表头节点作为参数,然后对链表中的节点按照字符数组首字母的字母表顺序进行排序,并返回排序后的链表头节点。
C语言编程实现:定义字符型一维数组用来存放字符串(字符串长度<30),从键盘输入一个字符串和一个英文字母,统计该英文字母在字符串中出现的次数(不区分大小写)。
在C语言中,你可以使用`char`数组来存储字符串,并结合循环结构如`for`或`while`来计算特定字母出现的次数。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含tolower()函数,用于转换字符为小写
#define MAX_LENGTH 30 // 定义字符串最大长度
// 函数声明,接收字符串和字母作为参数,返回字母出现次数
int count_occurrences(char str[], char letter);
int main() {
char string[MAX_LENGTH]; // 字符型一维数组
printf("请输入一个字符串(长度小于30):\n");
fgets(string, MAX_LENGTH, stdin); // 防止换行符,使用fgets读取输入
string[strlen(string) - 1] = '\0'; // 去除fgets添加的换行符
char search_letter;
printf("请输入一个英文字母(忽略大小写):\n");
scanf("%c", &search_letter);
search_letter = tolower(search_letter); // 转换为小写便于比较
int occurrences = count_occurrences(string, search_letter);
printf("字母 '%c' 在字符串中出现了 %d 次.\n", search_letter, occurrences);
return 0;
}
// 函数实现:统计字母在字符串中的出现次数
int count_occurrences(char str[], char letter) {
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (tolower(str[i]) == letter) { // 使用tolower进行大小写不敏感比较
count++;
}
}
return count;
}
```
在这个程序中,我们首先定义了一个字符数组`string`用于存放用户输入的字符串。接着获取用户输入的字母并将其转换为小写,然后调用`count_occurrences()`函数来计算字母的出现次数。最后,我们在主函数中打印出结果。
阅读全文