Login
Immutable PageDiscussionInfoAttachments
Diff for "rei05/C言語"

MMA
Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2012-05-08 17:39:22
Size: 443
Editor: rei05
Comment:
Revision 14 as of 2012-05-11 17:39:21
Size: 1300
Editor: rei05
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=Help Me!= = C言語 =
Line 3: Line 3:
 * AOJ10020番、WrongAnswer == AOJ解答 ==
 * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10020|10020]]
 * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10021|10021]]
Line 5: Line 7:
#Comment == Help Me! ==

=== 解決済み ===

 * AOJ10020番 Wrong Answer
  * [[http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10020]]
Line 13: Line 20:
char ch,counter[256]={0}; char ch,counter[26]={0};         //counterはintでいいんですね
Line 15: Line 22:
while(1){
  scanf("%c",&ch);
    if(ch=='\n') break;
while(scanf("%c",&ch)!=EOF){ //入力終了条件を\nからEOFに修正
  scanf("%c",&ch); //←この行は不要
Line 35: Line 41:

 * counterをリセットしないと2回目以降の結果がバグると思いますよん-- [[alstamber]] <<DateTime(2012-05-08T22:09:37+0900)>>
 * すみません具体的にどこをどう直せば良いですか?問題文を見る限り動かすのは1回でいいと思うのですが。-- [[rei05]] <<DateTime(2012-05-09T01:00:33+0900)>>
 * 上記のブログを参考にしたところ1行消して正解でした。-- [[rei05]] <<DateTime(2012-05-09T19:07:08+0900)>>

C言語

AOJ解答

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言語 (last edited 2012-07-16 17:50:37 by nomeaning)