猫でもわかるプログラムのサイトで、C言語を勉強しているのですが、
少しわからないところがあったので質問させていただきました。
第30章 超簡単統計プログラムを作ろう
http://www.kumei.ne.jp/c_lang/intro/no_30.htm
での最後の問題です。
問題をまとめると
①繰り返し入力できるようにする。
②リターンキーで入力を終了できるようにする。
③入力してリターンキーを押したデータを修正できるようにする。
この①はできたのですが、②,③がわかりません。
以下が①を追加してみたコードです。
②,③の解答だけでなく、こういう風にしたほうがいいよ ということなどもありましたら、
ご教授お願いします。
#include <stdio.h>
#include <math.h>
#include <string.h>
void toukei();
int main()
{
char cont[] = "y";
while(strcmp(cont, "y") == 0) {
toukei();
printf("\n続けますか? yes=y, no=n\n");
printf("入力:");
scanf("%s", cont);
for(int i=1; i <= 50; i++) {
putchar('-');
}
putchar('\n');
}
return 0;
}
void toukei()
{
int n;
double sum, xsum, av, sg, sd;
char data[64];
n = 1;
sum = 0.0;
xsum = 0.0;
while(1) {
printf("data[%3d]=", n++);
scanf("%s", data);
if (strcmp(data, "E") == 0)
break;
sum += atof(data);
xsum += pow(atof(data), 2.0);
}
n -= 2;
av = sum / n;
sg = xsum / n - pow(av, 2.0);
sd = sqrt(sg);
printf("\nデータの個数=%d\n", n);
printf("合計 =%f\n", sum);
printf("平均 =%f\n", av);
printf("平方和 =%f\n", xsum);
printf("分散 =%f\n", sg);
printf("標準偏差 =%f\n", sd);
return;
}