• ベストアンサー

プログラミング合っているか教えて下さい。

5つの整数をキーボードから入力し、合計値と平均値を出すプログラミングです。 (1)キーボードからの数値入力は「Enter 1st=○」のように表記。 (2)平均値は小数第二位まで表示。 (3)ループ文を使用する事。 #include<stidio.h> main() { int a sum=0; printf("データを5つ入力せよ\n"); scanf( %d",&a); switch(a) { case 1: printf("Enter 1st=%d",a); break; case 2: printf("Enter 2nd=%d",a); break; case 3: printf("Enter 3rd=%d",a); break; case 4: printf("Enter 4th=%d",a); break;   case 5: printf("Entre 5th=%d,a); break; } for (i=1;i<5;i++) {scanf("%d",&a; sum=sum+a;} printf("5つの合計値=%d",sum); printf("5つの平均値=%4.2f",(float)sum/5); } まだ初心者で勉強中のため、文法がおかしいかもしれませんが間違い等のご指摘、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

まず、指摘をしておきます。よく考えてみてください。 「#include<stidio.h>」 は、#include <stdio.h> の間違いですね。 また、最初の「scanf( %d",&a);」は何を入力するのでしょう? 次の switch(a) {  ・・・・ } の部分はループの中に入れないといけないのではないでしょうか? また、printf("Enter 1st=%d",a); などの部分は、 printf("Enter 1st="); でいいですよね。 更に、case 5: printf("Entre 5th=%d,a); は後の「"」が抜けています。 for (i=1;i<5;i++)  では、i=1~4までの4回しか繰り返しません。 また、変数iが未定義です。 その次の「{scanf("%d",&a; sum=sum+a;} 」は括弧が違っています。 「{scanf("%d",&a); sum=sum+a;」としなければいけません。 以上を考慮して、元のソースに近い形で書きなおすと、次のようになります。 #include <stdio.h> main() { int i, a, sum=0; printf("データを5つ入力せよ\n"); for (i=0;i<5;i++) { switch(i+1) { case 1: printf("Enter 1st="); break; case 2: printf("Enter 2nd="); break; case 3: printf("Enter 3rd="); break; case 4: printf("Enter 4th="); break; case 5: printf("Entre 5th="); break; } scanf("%d",&a); sum+=a; /* same as, sum=sum+a */ } printf("5つの合計値=%d",sum); printf("5つの平均値=%4.2f",(float)sum/5); }

the_apest
質問者

お礼

ありがとうございます。急いで打っていたためケアレスミスもかなりあったようですがご指摘頂き誠にありがとうございます。改めて自分で数等変えて試して見ました。

その他の回答 (1)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんばんは いくつか文法的、プログラム的に問題がありますね。 取りあえず、サンプルです。 ここのページの見やすさの関係で、全角のスペースを埋め込んでありますので、実際のプログラムからは取り除くか、TABなどに変換してください。 #include <stdio.h> main() {   int i,a,sum=0 ;   printf("データを5つ入力せよ\n");   for (i=1 ;i<6 ;i++){     switch ( i ){     case 1 : printf("Enter 1st="); break ;     case 2 : printf("Enter 2nd="); break ;     case 3 : printf("Enter 3rd="); break ;     default : printf("Enter %dth=",i); break ;     }     scanf("%d",&a);     sum += a ;   }   printf("5つの合計値=%d",sum);   printf("5つの平均値=%4.2f",(float)sum/5); }

the_apest
質問者

お礼

遅くなりましたがありがとうございます。きちんとしたプログラミングですとここまですっきり、分かり易くなるんですね!まだまだ初心者ですが頑張りたいと思います。

関連するQ&A

専門家に質問してみよう