多重分支的选择语句,可以用来进行统计
输入一行字符串,找出其中大写字母、小写字母、数字以及其他字符的个数
#include <stdio.h>
#define LENGTH 40
main()
{
int upcase=0,lowcase=0,num=0,othercase=0; //定义四个整型变量,分别用来存储大写,小写,数字和其它字符的个数,并且赋初值0
char c[LENGTH],*p; //定义一个字符型数组用来存储输入的字符串,然后定义一个指针来对这个字符数组进行操作
printf("please input a string (less then %d chars):\n",LENGTH);
scanf("%s",c); //将输入的字符串存储到c数组中
for(p=c;*p != '\0';p++) //使用指针p遍历c数组中字符串的每个字符,字符串在数组中,这里容易出错的是,应该使用 *p 来与'\0' 进行比较,而不是p,*p代表的是p所指示的内容,p代表的是一个地址,p 与 '\0' 这个字符串进行比较常常不报错,但是会产生意想不到的结果
{
if (*p >= 'A' && *p <= 'Z') upcase++; //如果是大写字母,就将upcase加一
else if(*p >= 'a' && *p <= 'z')lowcase++; //如果是小写字母,就将lowcase加一
else if(*p >= '0' && *p <= '9')num++; //如果是数字,就将num加一
else othercase ++; //如果是其它,就将othercase加一
}
printf(" total upcase is :%d\n total lowcase is :%d\n total number is :%d\n total othercase is :%d\n",upcase,lowcase,num,othercase); //将结果进行打印
return 0;
}
将输入字符串进行保存,然后遍历,逐个判断累计
原文地址
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。