Đề 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