ปัญหา
จะระบุจำนวนตัวอักษรพิมพ์ใหญ่ทั้งหมดในสตริงโดยใช้การเขียนโปรแกรม 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