First of all, your code isn't indented. Indenting everything between brackets {} can really help with code readability in the future.
Also, main() should be declared to return an int, and should return 0 on successful operation.
A third thing to note is that scanf() is a really bad function to use for input, but I expect you'll learn the proper way to do input later.
But you still don't know what's wrong with your code. Well, the answer is simple. After you input a number, you press enter. Enter sends a newline to your program '\n'. Since scanf("%d") only reads a number, scanf("%c") reads the newline character. '\n' does not equal 'y', so your program quits out. Probably the simplest way to solve your problem is to add a getchar() call that reads the newline, so scanf("%c") can read user input properly.
Fixed code:
#include <stdio.h>
int main() {
char another;
int num;
do
{
printf("Enter a number ");
scanf("%d",&num);
printf("Square of %d is %d\n",num,num*num);
printf("Want to input another number? ");
getchar();
scanf("%c",&another);
} while(another=='y');
return 0;
}