ログイン
編集不可のページディスカッション情報添付ファイル
"rei05/C言語"の差分

MMA
11と12のリビジョン間の差分
2012-05-09 18:47:52時点のリビジョン11
サイズ: 1095
編集者: rei05
コメント:
2012-05-09 19:07:08時点のリビジョン12
サイズ: 1308
編集者: rei05
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 18: 行 18:
char ch,counter[26]={0}; char ch,counter[26]={0};         //counterはintでいいんですね
行 20: 行 20:
while(scanf("%c",&ch)!=EOF){   //入力終了条件を\nからEOFに修正
  scanf("%c",&ch);
while(scanf("%c",&ch)!=EOF){     //入力終了条件を\nからEOFに修正
  scanf("%c",&ch);               //←この行は不要
行 42: 行 42:
 * 上記のブログを参考にしたところ1行消して正解でした。-- [[rei05]] <<DateTime(2012-05-09T19:07:08+0900)>>

C言語

良さ気なブログを見つけました。今後はこの方の回答を参考にさせて頂きます。

http://wada811.blogspot.com/2012/01/aizu-online-judgeaoj.html

Help Me!

#include<stdio.h>

int main(){

int num,i,pri;
char ch,counter[26]={0};         //counterはintでいいんですね

while(scanf("%c",&ch)!=EOF){     //入力終了条件を\nからEOFに修正
  scanf("%c",&ch);               //←この行は不要
  if('a'<=ch&&ch<='z'){
    num=ch-'a';
    counter[num]++;
  }else if('A'<=ch&&ch<='Z'){
    num=ch-'A';
    counter[num]++;
  }
}

for(i=0;i<=25;i++){
  pri=counter[i];
  printf("%c : %d\n",i+'a',pri);
}

return(0);
}
  • counterをリセットしないと2回目以降の結果がバグると思いますよん-- alstamber 2012-05-08 22:09:37

  • すみません具体的にどこをどう直せば良いですか?問題文を見る限り動かすのは1回でいいと思うのですが。-- rei05 2012-05-09 01:00:33

  • 上記のブログを参考にしたところ1行消して正解でした。-- rei05 2012-05-09 19:07:08

rei05/C言語 (最終更新日時 2012-07-16 17:50:37 更新者 nomeaning)