gets(str[i]);
gets()函数遇到空格就不保存了;
还有i从1存,数组长度应该是4,char str[4][80];
#include<stdio.h>
int main() {
char t;
int i, j;
int a = 0; //大写
int b = 0; //小写
int Number = 0; //数字
int Space = 0; //空格
int Other = 0; //其它
printf("请输入三行字符,每行80个\n");
for(i = 1; i <= 3; i++) {
printf("请输入第%d行字符:", i);
for(j = 0; (t = getchar()) != '\n'; j++) {
if(t >= 'A' && t <= 'Z') {
a++;//大写
} else if(t >= 'a' && t <= 'z') {
b++;//小写
} else if(t >= '0' && t <= '9') {
Number++;
} else if(t == ' ') {
Space++;
} else {
Other++;
}
}
}
printf("大写字母个数为:%d\n", a);
printf("小写字母个数为:%d\n", b);
printf("数字个数为:%d\n", Number);
printf("空格个数为:%d\n", Space);
printf("其他字符个数为:%d\n", Other);
return 0;
}