โจทย์
นับจำนวนตัวอักษรพิมพ์ใหญ่ (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