טוב...
אתה קולט פה מספר ממשי (int) ולכן a שמוגדר כממשי מקבל רק את המספר.
מה שאתה צריך לעשות זה דבר כזה:
#include <stdio.h>
int main() {
char a[20];
printf("enter number: ");
if ((scanf("%s", &a)) < 1) {
printf("error!!!");
}
printf("%s",a);
return 0;
}
ככה אתה בעצם קולט מחרוזת (מערך של char-ים) ומדפיס אותה לאחר מכן.