演習問題の7-11の考察が出来なくて困った。
#include <stdio.h>
int main(void)
{
float x, y, SUMX=0.0, SUMY=0.0;
int i;
for(x=0.0; x<=1.0; x+=0.01){
SUMX += x;
}
for(i=0; i<=100; i++){
y = i/100.0;
SUMY += y;
}
printf("SUM(decimal)=%f, SUM(integer)=%f\n", SUMX, SUMY);
return 0;
}
これの結果は、
SUM(decimal)=50.499985, SUM(integer)=50.500004
もう一つプログラムがあるのだが、それは、
#include <stdio.h>
int main(void)
{
int i;
float x=0,y,a=0.0,b=0.0;
for(i=0; i<=100; i++){
y = i / 100.0;
x += 0.01;
a += x;
b += y;
}
printf("SUM(decimal)=%f, SUM(integer)=%f\n", a, b);
return 0;
}
これの結果は、
SUM(decimal)=51.509983, SUM(integer)=50.500004
整数の方はいいのだが、なんで小数の方は結果が違うのか分からない。
-------------------------------------------------------------------------------
第6,7章からだいぶ難しくなったような気がする。
ではまた