#include <stdio.h>
#include <math.h>
void get_date();
float cal_avg();
float cal_std();
int count = 0;
float float_num[10];
int main() {
printf("<평균과 분산 프로그램>\n");
printf("0보다 크고 100보다 작은 실수 10개를 입력하세요.(음수를 입력하면 종료됩니다)\n\n");
get_date();
return 0;
}
void get_date() {
while (count < 10) {
printf("%d번째 실수(음수를 입력하면 종료됩니다) ", (count + 1));
scanf("%f", &float_num[count]);
if (float_num[count] < 0) {
printf("음수값을 입력하셨습니다. %d번째까지 입력받은 수들의 평균값과 분산값을 구합니다.\n", count);
break;
}
else {
count++;
}
}
printf("카운트1. %d\n", count);
if (count =10) {
printf("카운트4. %d\n", count);
printf("10개의 실수를 입력하셨습니다좆같네. 평균값과 분산값을 구합니다.\n");
printf("카운트2. %d\n", count);
}
printf("카운트3. %d\n", count);
}
float cal_avg() {
float sum=0, avg=0;
int a;
for (a = 0; a < 10; a++) {
sum += float_num[a];
}
avg = sum /(float) count;
return avg;
}
float cal_std() {
float ssum, sum, diff, vari, std;
int a;
ssum = 0;
for (a = 0; a < 10; a++) {
diff = float_num[a] - cal_avg();
ssum += diff*diff;
}
vari = ssum / (float)count;
std = (float)sqrt((double)vari);
return std;
}
//////////////////////////////////////////////
저 빨간색표시 부분에서
10개의 실수를 입력받으면 저게 바로뜨는데
10개실수 입력도중 음수를 눌러버리면
카운트1에서는 중단한 현재의 카운트값이 나오는데
if문 부터의 카운트 값(2.3.4)은 갑자기 10으로 뻥튀기가 되버려서
이게 뭔지 몰라서 머리가아프고 가슴이 답답합니다..
알려주실분없나요?