scanf を用いて、5個の数を入力すると合計と平均を計算し出力するプログラムを作成するのが分かりません。
=== プログラム ===
#include <stdio.h>
int main()
{
/* ほげほげ */
}
=== プログラムの実行結果 === 教えてもらえたらうれしいです。
無題
Re:無題
ググる癖をつけましょう^^
http://www.google.co.jp/search?hl=ja&q= ... lr=lang_ja
<DIV align="right"><BR clear=all>253ポイント を手に入れた。</DIV>
http://www.google.co.jp/search?hl=ja&q= ... lr=lang_ja
<DIV align="right"><BR clear=all>253ポイント を手に入れた。</DIV>
Re:無題
#include <stdio.h>
int main(void)
{
char str[20];
int num1;
int num2;
int num3;
int num4;
int num5;
int sum;
puts( "整数を5回入力して下さい。" );
fgets( str, 20(str), stdin );
sscanf( str, "%d", &num1 );
fgets( str, 22(str), stdin );
sscanf( str, "%d", &num2 );
fgets( str, 24(str), stdin );
sscanf( str, "%d", &num3 );
fgets( str, 26(str), stdin );
sscanf( str, "%d", &num1 );
fgets( str, 28(str), stdin );
sscanf( str, "%d", &num1 );
/* 合計を求める */
sum = num1 + num2 + num3 + num4+ num5;
/* 合計と平均値を出力する */
printf( "合計: %d\n", sum );
printf( "平均: %d\n", sum / 5 );
return 0;
}
これでどうですか?
int main(void)
{
char str[20];
int num1;
int num2;
int num3;
int num4;
int num5;
int sum;
puts( "整数を5回入力して下さい。" );
fgets( str, 20(str), stdin );
sscanf( str, "%d", &num1 );
fgets( str, 22(str), stdin );
sscanf( str, "%d", &num2 );
fgets( str, 24(str), stdin );
sscanf( str, "%d", &num3 );
fgets( str, 26(str), stdin );
sscanf( str, "%d", &num1 );
fgets( str, 28(str), stdin );
sscanf( str, "%d", &num1 );
/* 合計を求める */
sum = num1 + num2 + num3 + num4+ num5;
/* 合計と平均値を出力する */
printf( "合計: %d\n", sum );
printf( "平均: %d\n", sum / 5 );
return 0;
}
これでどうですか?
Re:無題
>Naohiro19さん
初めまして。横槍を失礼します。
>> scanf("%f", &num);
うっかりだとは思いますが、それでは計算結果がNaNになるのではないでしょうか? %lf にしたほうが良いかと。
>lbfuvabさん
初めまして。横槍を失礼します。
>> ave += (input-ave) / (i+1);
のくだりですが、初心者さんに教えるにはちょっと式が難しすぎると思います。特に初心者じゃ0除算対策はぱっと見では分かりませんし(^^;)
無理に平均から作らない方がすっきりするし分かり易くていいかと思います。
偉そうな事を言ってすみません。口だけだと何なので自分のソースも晒しますw
テストしていないのでどこかおかしいかも知れませんw
初めまして。横槍を失礼します。
>> scanf("%f", &num);
うっかりだとは思いますが、それでは計算結果がNaNになるのではないでしょうか? %lf にしたほうが良いかと。
>lbfuvabさん
初めまして。横槍を失礼します。
>> ave += (input-ave) / (i+1);
のくだりですが、初心者さんに教えるにはちょっと式が難しすぎると思います。特に初心者じゃ0除算対策はぱっと見では分かりませんし(^^;)
無理に平均から作らない方がすっきりするし分かり易くていいかと思います。
偉そうな事を言ってすみません。口だけだと何なので自分のソースも晒しますw
#include <stdio.h> #define COUNT 5 void main(void) { int i; double num[COUNT] = {0}, sum = 0.0; for(i = 0; i < COUNT ; i++ ){ scanf(" %lf",&num); sum += num; } printf("合計 => %g , 平均 => %g ",sum , sum / COUNT); }
テストしていないのでどこかおかしいかも知れませんw