scanf("%d",&a); a是整型,你输入字符串肯定不对,可以判断一下scanf的返回值,如果是返回0,说明输入的不是整数,可以再重新输入,具体处理代码可以参考我另一个问题的回答答案,链接地址如下
网页链接