Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ใช้ฟังก์ชัน isupper() นับตัวอักษรพิมพ์ใหญ่ในสตริง C


โจทย์

นับจำนวนตัวอักษรพิมพ์ใหญ่ (Uppercase) ในสตริงที่รับจากผู้ใช้

วิธีที่ 1: ใช้ isupper() จาก

#include <stdio.h>
#include <ctype.h>
int main() {
    char str[50];
    int i = 0, count = 0;
    
    printf("Enter string: ");
    fgets(str, sizeof(str), stdin);
    str[strcspn(str, "\n")] = 0;
    
    for(i = 0; str[i] != '\0'; i++) {
        if (isupper(str[i])) count++;
    }
    
    printf("Uppercase letters: %d\n", count);
    return 0;
}

ผลลัพธ์

Enter string: TutoRialsPoint CPrograMMing
Uppercase letters: 7

วิธีที่ 2: ไม่ใช้ isupper() (เปรียบเทียบ ASCII)

#include <stdio.h>
int main() {
    char str[50];
    int i = 0, upper = 0;
    
    printf("Enter string: ");
    fgets(str, sizeof(str), stdin);
    str[strcspn(str, "\n")] = 0;
    
    while(str[i] != '\0') {
        if (str[i] >= 'A' && str[i] <= 'Z') upper++;
        i++;
    }
    printf("Uppercase Letters: %d\n", upper);
    return 0;
}

ผลลัพธ์

Enter string: TutOrial
Uppercase Letters: 2