#include
int main()
{char a[3][5];
int i,j,z=0,s=0,k=0,o=0;
for(i=0;i for(j=0;j scanf("%c",&a[i][j]);
for(i=0;i for(j=0;j {
if((a[i][j]>='a'&&a[i][j]<='z')||(a[i][j]>='A'&&a[i][j]<='Z')) z++;
else if(a[i][j]>='0'&&a[i][j]<='9') s++;
else if(a[i][j]==' ') k++;
else o++;
}
printf("字母个数为%d\n数字个数为%d\n空格个数为%d\n其他字符个数为%d\n",z,s,k,o);
return 0;
}
运行出来的结果其他字符个数总是不正确
还有用%c输入时输入的个数必须满所定义的a[3][5]也就是15个么?
你这个代码是要干啥?
#include<stdio.h>
int main()
{
char a[3][5];
int i,j,z=0,s=0,k=0,o=0;
for(i=0;i<3;i++)
{
for(j=0;j<5; j++)
{
scanf("%c",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<5; j++)
{
if((a[i][j]>='a'&&a[i][j]<='z')||(a[i][j]>='A'&&a[i][j]<='Z'))
z++;
else if(a[i][j]>='0'&&a[i][j]<='9')
s++;
else if(a[i][j]==' ')
k++;
else
o++;
}
}
printf("字母个数为%d\n数字个数为%d\n空格个数为%d\n其他字符个数为%d\n",z,s,k,o);
return 0;
}
楼上正解,不过按照楼上的代码的话确实要输够十五个,因为循环次数就是那么多,可以输入行数列数接收,让for语句按照行数列数来循环。
楼上正解,不过按照楼上的代码的话确实要输够十五个,因为循环次数就是那么多,可以输入行数列数接收,让for语句按照行数列数来循环。
楼上正解,不过按照楼上的代码的话确实要输够十五个,因为循环次数就是那么多,可以输入行数列数接收,让for语句按照行数列数来循环。