[C语言]统计字符串数字字母空格以及其他字符的个数

首页 / 源码 / 正文
不得不说这也是我们的作业之一。但是这东西要用上数组,我们还没学过数组呢,不过博主学过PHP,可以类套嘛。判断方法不止一种,可以用ASCII码来判断,博主比较懒,直接调用函数。(博客原因缩进难免会有不规范)
注意:scanf里面用%s不能接收字符窜中的空格,空格以后会被截断,用正则即可解决。(博主也是百度后才知道能用正则)
#include <stdio.h>
#include <string.h>
int main()
{   
char c[100];   
int digit =0,letter=0,space =0;
   printf("请输入一个100位以下的字符串:"); 
   scanf("%[^\n]",c); //正则获取除转行外的字符串

    int str = strlen(c); printf("你输入的字符串长度为:%d\n字符串为:%s\n",str,c);

for(int i =0;i < str; i++)
{
     if(isdigit(c[i]))
        digit += 1;
    if(isalpha(c[i]))
       letter += 1;
    if(c[i] == 32)
       space +=1;    
}
printf("数字有         %d 个\n",digit);
printf("字母有         %d 个\n",letter);
printf("空格有         %d  个\n",space);
printf("其他字符有 %d 个\n",str - digit -letter-space);
return 0;
}

运行截图
Screenshot_2016-10-28-01-00-13.png
评论区
头像