こういうのじゃだめなのか?

#include <stdio.h>

int main(void)
{
int i;
for(i=0;i<=9999;i++)
{
printf("%d,%c\n",i+1,((i+1)%3 == 0) ? '!': ' ');
}
return 0;
}