Obviously, your own code is like a blackbox to you. It don't do what you expect, and you don't understand why.
What follow is not directly a solution to your problem, but a key that will help you to understand by yourself what is wrong.
The debugger is your friend. It will show you what your code is really doing.
Follow the execution, inspect variables and you will see that there is a point where it stop doing what you expect.
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[
^]
Debugger - Wikipedia, the free encyclopedia[
^]
Your program is a mess, here is what your program is really doing
#include<stdio.h>
#define ctoi(a) a-'0'
int main()
{
int n;
char ch;
scanf("%c",&n);
ch=ctoi(n);
printf("%c",n);
}
Only the debugger can tell you what really append in this code.
You really need to follow tutorials and examples programs.
By the way, it look like HomeWork. If you fail to solve the problem, it is a useful information for your teacher.
And showing your own work that fail is better than showing someone else work that you don't understand.