C语言初学者求救!!!

2024-12-01 00:28:34
推荐回答(2个)
回答(1):

注意作用域的问题。
for(i = 1;i <= n;i++)
{
char ai; //此处定义的ai并不能自动替换成a1,a2等等,只是单纯的一个ai,而且它只存在与这个for作用的大括号内,在括号外不能引用
ai = getchar();
}

for(i = 1;i <= n;i++)
{
if(ai == ' ')
kg++;
else if(ai >='0' && ai <= '9')
sz++;
else if((ai >='a' && ai <= 'z') || (ai >= 'A' && ai <= 'Z'))
zm++;
else
qt++;
}

回答(2):

#include
int main()

{
int n, i, zm = 0, sz = 0, kg = 0, qt = 0;
char ai;
printf("你希望输入多少个字符:");
scanf("%d", &n);
printf("请随意输入%d个字符:", n);

for(i = 1;i <= n;i++)
{

ai = getchar();
}

for(i = 1;i <= n;i++)
{
if(ai ==' ')
kg++;
else if(ai >='0' && ai <= '9')
sz++;
else if((ai >='a' && ai <= 'z') || (ai >= 'A' && ai <= 'Z'))
zm++;
else
qt++;
}

printf("输出: 字母%d个;数字%d个;空格%d个;其他字符%d个.\n", zm, sz, kg, qt);

return 0;
}