なぜか負の数の個数がものすごく大きな数字になってしまうのですが、どこが違うのかがわかりません。
ご指導願います。
実数の入力は 0.0 を入力することにより終了させるようにします。
#include <stdio.h> main(void) { char buf[100]; float i, posi , nega; printf("input data = "); fgets(buf, 100, stdin); sscanf(buf, "%0.1f", &i); if (i > 0 ){ posi = posi + 1; } else if ( i < 0 ){ nega = nega + 1 ; } while (i != 0) { printf("input data = "); fgets(buf, 100, stdin); sscanf(buf, "%0.1f", &i); if (i > 0 ){ posi = posi + 1; } if ( i < 0 ){ nega = nega + 1 ; } } printf("positive number = %0.0f\n",posi); printf("negative number = %0.0f\n",nega); return 0; }