1560
コメント:
|
1108
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 2: | 行 2: |
== AOJ解答 == . 最終的にAcceptedとなった回答です。 |
|
行 3: | 行 5: |
== AOJ解答 == * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10020|10020]] * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10021|10021]] * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10022|10022]] * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10023|10023]] * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10024|10024]] * [[http://wiki.mma.club.uec.ac.jp/rei05/C言語/10025|10025]] |
. ここはこうした方がいいなど改善すべき点がありましたら是非ご教授お願いします。 * [[/10020]] * [[/10021]] * [[/10022]] * [[/10023]] * [[/10024]] * [[/10025]] * [[/10026]] * [[/10027]] |
行 12: | 行 17: |
=== 解決済み === * 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: | 行 23: |
#include<math.h> | |
行 23: | 行 26: |
int num,i,pri; char ch,counter[26]={0}; //counterはintでいいんですね |
int n,s[1000],i,m1,m2; double a; |
行 26: | 行 29: |
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: | 行 36: |
} 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: | 行 46: |
* 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)>> |
* 16行目のm1/nの部分で結果が整数に丸められてる気がする。m1, m2をdoubleで定義するといい。 -- [[iz]] <<DateTime>> * ご指摘の通り改善しましたところ正解でした。ありがとうございました。 -- [[rei05]] <<DateTime(2012-05-26T13:45:52+0900)>> |
C言語
AOJ解答
- 最終的にAcceptedとなった回答です。
- ここはこうした方がいいなど改善すべき点がありましたら是非ご教授お願いします。
Help Me!
未解決
- AOJ10026番 Wrong Answer
#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); }