c语言怎么不用占位符实现四舍五入

c语言怎么输出五位数四舍五入到千位数,且不用占位符?
题目要求:
示例输入1 99999
示例输出1 100000

示例输入2 29300
示例输出2 29000

下面是我的解答,但是系统检测只正确了一部分 好像是因为用了占用符扣分?
int main()
{
int num;
int a,b,c;
scanf("%d",&num);
a=num/10000;
b=(num%10000)/1000;
c=(num%1000)/100;
if(c>5)
printf("%d",a10000+(b+1)1000);
else
printf("%d",a
10000+b
1000);

return 0;

}

以上代码检测不完全正确
所以怎么样才能实现四舍五入到千位数,并且不用占用符??

#include <stdio.h>

int main()
{
    int num;
    scanf("%d", &num);
    printf("%d", (num + 500) / 1000 * 1000);
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^