使用2个数组(60个字符)存放2行字符串,分别统计出其中的英文字母、数字、空格及其他字符的个数。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num1=0,num2=0,num3=0,num4=0; //英文字母 数字 空格 其他字符
int n=60;
int m=60;
int i,j;
char str1;
char str2;
char a[60];
char b[60];
for( i=0; i<n; i++){
scanf("%c",&a[i]);
}
for( j=0; j<m; j++){
scanf("%c",&a[j]);
}
while((str1 = getchar(a)) != '\n'){
if (str1 >= 'a' && str1 <='z' || str1 >= 'A' && str1 <= 'Z'){
num1++;
} else if(str1 >= '0' && str1 <= '9' ) {
num2++;
} else if(str1 == ' ') {
num3++;
} else {
num4++;
}
}
printf("字母的数量:%d\n",num1);
printf("数字的数量:%d\n", num2);
printf("空格的数量:%d\n", num3);
printf("其他:%d\n",num4);
num1 = num2 = num3 = num4 = 0;
while((str2 = getchar(b)) != '\n'){
if (str2 >= 'a' && str2 <='z' || str2>= 'A' && str2 <= 'Z'){
num1++;
} else if(str2 >= '0' && str2 <= '9' ) {
num2++;
} else if(str2 == ' ') {
num3++;
} else {
num4++;
}
}
printf("字母的数量:%d\n",num1);
printf("数字的数量:%d\n", num2);
printf("空格的数量:%d\n", num3);
printf("其他:%d\n",num4);
system("pause");
return 0;
}
运行结果及报错内容 无法控制读入的字符数量为60(好像输入的字符根本没存到数组里面或者根本没从数组里面读字符)
思路 先用for循环将字符存到数组里面再用getchar函数(不知到怎么用getchar读取数组中的字符)或者for循环读入数组中的字符判断各种字符类型的个数;
问题:1.如何将字符存到数组当中以及如何用gtechar读取数组中的字符
2.如果用循环来读入数组中的字符那么跳出循环的条件是什么(自己想的是用一个计数器每次循环后加一 直到加到60为止 好笨的方法qwq)
本人全靠自学 希望有人指点一二 感谢!