###実現したいこと
大文字が何回入力されたかを表示したい。
###問題点
大文字の数が違う。
私が考えた方法は
isupper
で大文字判定された文字をカウントする
です。
ところどころにprintf
をいれて確認しているのですがどこが間違っているのかわかりません。
実行結果
文字列を入力してください ABChdgD64D n=10 chara[0]=ABChdgD64D cnt=1 chara[2]=ABChdgD64D cnt=2 chara[6]=ABChdgD64D cnt=3 アルファベット大文字の出現回数は3回です
###コード
C
1//大文字の出現回数 2 3#include<stdio.h> 4#include<ctype.h> 5 6//文字列の長さを求める 7int str_length(const char str[]) 8{ 9 int len=0; 10 while(str[len]) len++; 11 return len; 12} 13 14int main(void) 15{ 16 char chara[99]; 17 int cnt=0; 18 printf("文字列を入力してください\n"); 19 fgets(chara,99,stdin); //入力 20 unsigned i=0; 21 22 int n=str_length(chara); //文字数 23 printf("n=%d\n",n); 24 25 for(i=0;i<n;i++){ 26 if(isupper(chara[i])){ 27 cnt++; 28 printf("chara[%d]=%s cnt=%d\n",i,chara,cnt); 29 } 30 i++; 31 } 32 printf("アルファベット大文字の出現回数は%d回です\n",cnt); 33 34 return 0; 35}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/14 12:02