一个猜数游戏,没有错误和警告,但是运行出来的不对,求解

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand(time(0));
int num=rand()%100+1;
int count=0;
int a=0;
printf("我已经想好了一个1到100之间的数");
do{
printf("请猜这个数:");
scanf("%d",a);
count++;
if(a>num){
printf("大了");
}
else if(a<num){
printf("数小了");
}
} while(a!=num);
printf("太好了,你用了%d次就猜到了答案。\n",count);
return 0;
}