方法一:常规计算

#include int main(){char c;int letters=0,space=0,digit=0,other=0;printf("请输入一行字符:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c==' ')space++;else if(c>='0'&&c<='9')digit++;elseother++;}printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d",letters,space,digit,other);return 0;}

方法二:普通函数调用

#include #include  void count(char c[]){int letters=0,space=0,digit=0,other=0;int i;for (i = 0; c[i]; i++){if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z')letters++;else if(c[i]==' ')space++;else if(c[i]>='0'&&c[i]<='9')digit++;elseother++;}printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d",letters,space,digit,other);}int main(){char c[32];printf("请输入一行字符:\n");gets(c);count(c);return 0;}

方法三:指针函数调用

#include void count(char arr[]){int letters=0,space=0,digit=0,other=0;char *p=arr;char c;while(*p!='\n') {c =*p ;if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c==' ')space++;else if(c>='0'&&c<='9')digit++;elseother++;p++;}printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d",letters,space,digit,other);}int main(){char c[32];int i =0;printf("请输入一行字符:\n");while((c[i]=getchar())!='\n')i++;count(c);return 0;}