一篇文章共3行,每行80个字符,统计出其英文大写字母,英文小写字母,数字,空格,其他字符的个数。为什么答案错误,是文本的输入方式错了吗?

#include
int main()
{
char text[3][80];
int a,b,c,d,e,i,j;
a=b=c=d=e=0;
for(i=0;i<3;i++)
{
for(j=0;j<80;j++)
{
scanf("%d",&text[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<80&&text[i][j]!='\0';j++)
{
if(text[i][j]>='A'&&text[i][j]<='Z')a++;
else if(text[i][j]>='a'&&text[i][j]<='z')b++;
else if(text[i][j]>='0'&&text[i][j]<='9')c++;
else if(text[i][j]==' ')d++;
else e++;
}
}
printf("upper case:%d\n",a);
printf("lower case:%d\n",b);
printf("digit:%d\n",c);
printf("space:%d\n",d);
printf("other:%d\n",e);
return 0;
}

字符类型接收使用%c
应该是scanf("%c",&text[i][j]);

输入改成下面这样

for(i=0;i<3;i++)
{
    scanf("%s",text[i]);
}