入力した文字の中から任意の文字の個数を数え、その個数を表示する方法
Posted: 2019年9月17日(火) 16:54
英文字,英記号(スペースを含む)からなる20文字以下の文字列をキーボードから入力すると,その中でe*r という文字列が何回使われているかを出力するプログラムを作成しなさい。但し,*は任意の英文字,英記号1文字を表し,大文字と小文字を区別する。
出力例↓
Input a string:Eareer me ranenr
The total number of e*r is 4.
という課題です。プログラムを組んでみたのですが、出力例の4の部分が20になってしまい上手くいきません。どこが間違っているかが分からないので、教えていただきたいです。
出力例↓
Input a string:Eareer me ranenr
The total number of e*r is 4.
という課題です。プログラムを組んでみたのですが、出力例の4の部分が20になってしまい上手くいきません。どこが間違っているかが分からないので、教えていただきたいです。
#include <stdio.h>
int main(void)
{
char str[20];
printf("Input a string: ");
fgets(str, 20 ,stdin);
int i;
int e=0;
int r=0;
for(i=0;i<20;i++){
if( str[i] = 'e' ){
e += 1;
}
if( str[i] = 'r' ){
r += 1;
}
}
int er;
if(e <= r){
er = e;
}
else{
er = r;
}
printf("The total number of e*r is %d.\n", er);
return 0;
}