ปัญหา
จะระบุจำนวนตัวอักษรพิมพ์ใหญ่ทั้งหมดในสตริงโดยใช้การเขียนโปรแกรม C ได้อย่างไร
วิธีแก้ปัญหา
ตรรกะที่เราใช้ในการนับจำนวนตัวพิมพ์ใหญ่ในประโยคมีดังนี้ −
for(a=string[0];a!='\0';i++){ a=string[i]; if (isupper(a)){ counter=counter+1; //counter++; } }
ตัวอย่างที่ 1
#include<stdio.h> #include<ctype.h> void main(){ //Declaring integer for number determination, string// int i=0; char a; char string[50]; int counter=0; //Reading User I/p// printf("Enter the string :"); gets(string); //Using For loop and predefined function to count upper case alpha's// for(a=string[0];a!='\0';i++){ a=string[i]; if (isupper(a)){ counter=counter+1; //counter++; } } //Printing number of upper case alphabets// printf("Capital letters in string : %d\n",counter); }
ผลลัพธ์
Enter the string :TutoRialsPoint CPrograMMing Capital letters in string : 7
ตัวอย่างที่ 2
ในโปรแกรมนี้ เราจะมาดูวิธีการนับอักษรตัวพิมพ์ใหญ่โดยไม่ต้องใช้ isupper() −
#include<stdio.h> int main(){ int upper = 0; char string[50]; int i; printf("enter The String : \n"); gets(string); i = 0; while(string[i]!= ' '){ if (string[i] >= 'A' && string[i] <= 'Z') upper++; i++; } printf("\nUppercase Letters : %d", upper); return (0); }
ผลลัพธ์
enter The String : TutOrial Uppercase Letters : 2