(改めて)すみません。Cのプログラムみてください。

#include <stdio.h>
main()
{
int a,b;
printf("やす君:消費税を計算できるもてもてやす君16歳だべ。\n");
printf("やす君:商品は何円っスか。\n");
scanf("%d",&a);
b=a*1.05+1;
printf("入力者:%d円です。\n",a);
printf("やす君:その商品は%d円になるぞ。\n",b);
}

このプログラムだと
なんか900円くらいまでは大丈夫みたいなんですけど、
1000円以上になると値がおかしくなるんです。
なんでですか??

1をプラスしないと答えが合わないのはなぜですか??
(1000円以上だとこっちのほうは答えがあう)

誰か教えてください。