请问这个为什么会输出这个结果
怎么样才能使输出的是1是字符个数4是小写字母个数呢
是要统计字符串中数字和字母的个数吗
虽然你定义了20个字符的数组,但是cin得到的并不一定是20个字符,for循环中,不应该用 i<20,应该用 a[i] !='\0'
代码修改如下:
#include <iostream>
using namespace std;
int main()
{
char a[20];
int number_1 = 0; //所有数字字符和字母个数
int number_2 = 0; //数字字符个数
int number_3 = 0; //大写字母个数
int number_4 = 0; //小写字母个数
cin >> a;
for(int i=0;a[i]!='\0';i++) //for循环的条件改成 a[i] != '\0'
{
if(a[i]<'9' && a[i]>='0')
{
number_1++;
number_2++;
}else if(a[i]>='A' && a[i]<='Z')
{
number_1++;
number_3++;
}else if(a[i]>='a' && a[i]<='z')
{
number_1++;
number_4++;
}
}
cout << number_1<<" "<<number_2<<" " << number_3 <<" "<< number_4<<endl; //这里的输出之间加了空格
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!