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

MMA
18と21のリビジョン間の差分 (その間の編集: 3回)
2012-05-16 17:09:44時点のリビジョン18
サイズ: 1560
編集者: rei05
コメント:
2012-05-22 17:19:31時点のリビジョン21
サイズ: 1081
編集者: rei05
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 4: 行 4:

  最終的にAcceptedとなった回答です。
 ここはこうした方がいいなど改善すべき点がありましたら是非ご教授お願いします。
行 13: 行 17:
=== 解決済み === === 解決 ===
行 15: 行 19:
 * AOJ10020番 Wrong Answer
  * [[http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10020]]
 * AOJ10026番 Wrong Answer
  * [[http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10026]]
行 20: 行 24:
#include<math.h>
行 23: 行 27:
int num,i,pri;
char ch,counter[26]={0}; //counterはintでいいんですね
int n,s[1000],i,m1,m2;
double a;
行 26: 行 30:
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]++;
while(1){
  m1=0;m2=0;
  scanf("%d",&n); if(n==0) break;
  for(i=0;i<n;i++){
    scanf("%d",&s[i]);
    m1+=s[i];
行 35: 行 37:
}

for(i=0;i<=25;i++){
  pri=counter[i];
  printf("%c : %d\n",i+'a',pri);
  for(i=0;i<n;i++){
    m2+=pow(s[i]-m1/n,2);
  }
  a=fabs(sqrt(m2/n))
;
  printf("%f\n",a);
行 45: 行 47:

 * 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解答

  • 最終的にAcceptedとなった回答です。
  • ここはこうした方がいいなど改善すべき点がありましたら是非ご教授お願いします。
  • 10020

  • 10021

  • 10022

  • 10023

  • 10024

  • 10025

Help Me!

未解決

#include<stdio.h>
#include<math.h>
int main(){

int n,s[1000],i,m1,m2;
double a;

while(1){
  m1=0;m2=0;
  scanf("%d",&n); if(n==0) break;
  for(i=0;i<n;i++){
    scanf("%d",&s[i]);
    m1+=s[i];
  }
  for(i=0;i<n;i++){
    m2+=pow(s[i]-m1/n,2);
  }
  a=fabs(sqrt(m2/n));
  printf("%f\n",a);
}

return(0);
}

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