输入一行字符串,要求统计其中字母,空格,数字以及其他字符的数目

Q: 输入一行字符串,要求统计其中字母,空格,数字以及其他字符的数目,要求用数组和指针两种形式。
A1:
#include <stdio.h>
int main()
{
char c;
int l=0,s=0,n=0,other=0;
printf(“请输入一行字符(以!结束):”);
while ((c=getchar())!=’!’)
{
if (c >= ‘A’&&c <= ‘Z’ || c >= ‘a’&&c <= ‘z’)
{
l++;
}
else if (c == ’ ‘)
{
s++;
}
else if (c >= ‘0’&&c <= ‘9’)
{
n++;
}
else
{
other++;
}
}
printf(“字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n”,l,s,n,other);
return 0;}
A2:
#include <stdio.h>
void main()
{
char str[1024];
int i,num[4]={0};
memset(str,0,1024);
gets(str);
for(i=0;str[i]!=’\0’;i++)
{
if(str[i]>=‘A’&&str[i]<=‘Z’||str[i]>=‘a’&&str[i]<=‘z’)
num[0]++;
else if(str[i]’ ')
num[1]++;
else if(str[i]>=‘0’&&str[i]<=‘9’)
num[2]++;
else
num[3]++;
}
printf(“字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n”,num[0],num[1],num[2],num[3]);
}
A3:
#include<stdio.h>
int j=0,k=0,l=0,m=0;
int main()
{
char a[100],*p;
void select(char *p);
printf(“请输入一行字符:”);
p=a;
gets(a);
select§;
printf(“字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n”,j,k,l,m);
return 0;
}
void select(char *p)
{
for(;*p;p++)
if(*p>=‘a’&&*p<=‘z’||*p>‘A’&&*p<=‘Z’)
j++;
else if(*p
’ ')
k++;
else if(*p>=‘0’&&*p<=‘9’)
l++;
else m++;
}
在这里插入图片描述

在这里插入图片描述在这里插入图片描述