Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C dùng hàm isupper() đếm chữ hoa


Đề bài

Đếm tổng số chữ cái in hoa trong chuỗi bằng lập trình C.

Giải pháp

Logic đếm chữ hoa:

for(a = string[0]; a != '\0'; i++) {
    a = string[i];
    if (isupper(a)) {
        counter++;
    }
}

Ví dụ 1: Dùng isupper() từ

#include <stdio.h>
#include <ctype.h>

void main() {
    int i = 0;
    char a;
    char string[50];
    int counter = 0;
    
    printf("Nhập chuỗi: ");
    gets(string);
    
    for(a = string[0]; a != '\0'; i++) {
        a = string[i];
        if (isupper(a)) {
            counter++;
        }
    }
    printf("Số chữ hoa trong chuỗi: %d\n", counter);
}

Kết quả ví dụ 1

Nhập chuỗi: TutoRialsPoint CPrograMMing
Số chữ hoa trong chuỗi: 7

Ví dụ 2: Không dùng isupper(), so sánh ASCII

#include <stdio.h>

int main() {
    int upper = 0;
    char string[50];
    int i = 0;
    
    printf("Nhập chuỗi:\n");
    gets(string);
    
    while(string[i] != '\0') {
        if (string[i] >= 'A' && string[i] <= 'Z')
            upper++;
        i++;
    }
    printf("\nSố chữ hoa: %d\n", upper);
    return 0;
}

Kết quả ví dụ 2

Nhập chuỗi: TutOrial
Số chữ hoa: 2