|
| View Articles |
|
 |
 Name |
 | | | francesco94 |
|
 |
| Subject |
 1 부터 100까지 계산중에.. |
 |
 |
멍멍이가 새로알려준 for문
#include <stdio.h>
main()
{
int i
int
for(.............
...
.
}
이거 말고 처음 구타가 쓴방법에서
include <stdio.h>
main()
{
printf("1 부터 100 : %d\n",(100+1)/2*100);
}
하면 왜 닶이 5000 이 나오져>??
식으로는 맞는데...
100+1=101 , 101/2= 50.5 , 50.5*100=5050
왜져??
|
|
 attainer |
::: c언어는 내부적으로 정수와 소수를 처리하는 방식이 다르기 때문에, 정수끼리 연산을 하면 반드시 정수로만 결과값이 나옵니다. 그레서 (100+1)/2를 할때 101/2는 50.5가 | |
 attainer |
::: 안되고 50이 됩니다. 여기에 100을 곱했으니 5000이 되는겁니다. | |
 attainer |
::: (101+1)/2.0 또는 (float)(101+1)/2라고 해주시면 정상적으로 출력될겁니다. | |

kjwon15 |
::: (n+1)n/2입니다. 곱셈을 먼저 해야죠 | |

kjwon15 |
::: float으로 변환하면서 나누기 먼저 해도 되는데 그러면 느려집니다. | |
 wudobi |
::: int 형 데이터는 정수형 데이터값만 저장해요 소수를 버리죠..님이 하신 방법으로는 float 를 쓰서야됨 | |
|