Computer >> Máy Tính >  >> Lập trình >> lập trình C

Viết chương trình C bằng hàm isupper ()

Vấn đề

Làm cách nào để xác định tổng số các bảng chữ cái viết hoa trong một chuỗi bằng Lập trình C?

Giải pháp

Logic mà chúng tôi sử dụng để đếm số lượng các chữ cái viết hoa trong một câu như sau -

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

Ví dụ 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);
}

Đầu ra

Enter the string :TutoRialsPoint CPrograMMing
Capital letters in string : 7

Ví dụ 2

Trong chương trình này, chúng ta sẽ xem cách đếm các chữ cái viết hoa mà không cần sử dụng 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);
}

Đầu ra

enter The String :
TutOrial
Uppercase Letters : 2