임의의 실수에서 소수점 이하 두자리수만 추출하여 정수형 변수에 대입하라. 예를 들어 사용자로부터 입력받은 실수 f가 12.3456이라면 34만 추출한다. 이때 반올림은 고려하지 않아도 상관없다. f가 달러 단위의 화폐 액수라고 할 때 센트 단위만 추출해내는 경우라고 생각하면 된다. 다음 ???? 자리에 적합한 연산식을 작성하는 문제이다.

 <?xml:namespace prefix = o ns = \"urn:schemas-microsoft-com:office:office\" /><o:p></o:p>

printf(\"실수를 입력하시오 : \");

scanf(\"%f\",&f);

i=????

printf(\"i=%d\\n\",i);

 <o:p></o:p>

이 문제의 핵심은 음수이거나 소수점 이하의 자리수가 없는 경우까지 잘 고려하여 항상 잘 동작하는 코드를 만드는 것이다.


#include <stdio.h>

void main(void)
{
 double Rnumber;
 int i;
 scanf(\"%lf\", &Rnumber);
 i = (Rnumber - (int)Rnumber)*100;
 printf(\"%d\\n\", i);
}
소스를 이렇게 짰는데 음수일때 예를 들어 -30.39를 치면 왜 -39가 아니라 -38이 나올까요?