输入一个字符串存入字符数组,统计其中大写字母,小写字母,数字和其它字符的个数(运用指针)

输入一个字符串存入字符数组,统计其中大写字母,小写字母,数字和其它字符的个数(运用指针)

#include<iostream>    

#include<cstdio>      

using namespace std;    

int main()    

{    

char str[50];    

int i=0,n1=0,n2=0,n3=0,n4=0;    

cout<<"输入字符串:";    

gets(str);    

while(str[i]!='\0')    

{      

if(str[i]>='0'&&str[i]<='9')   

n1++;     

else   

if(str[i]>='a'&&str[i]<='z')   

n2++;  

else   

if(str[i]>='A'&&str[i]<='Z')  

n3++;  

else  

n4++;  

i++;  

}    

cout<<"其中的数字个数是: "<<n1<<endl<<"其中的小写字母个数是:"<<n2<<endl<<"其中的

大写字母个数是:"<<n3<<endl<<"其他字符数的个数是:"<<n4<<endl;  

return 0;    

运行效果:

扩展资料:

while语句若一直满足条件,则会不断的重复下去。但有时,需要停止循环,则可以用下面的三种方式:

一、在while语句中设定条件语句,条件不满足,则循环自动停止。

如:只输出3的倍数的循环;可以设置范围为:0到20。

二、在循环结构中加入流程控制语句,可以使用户退出循环。

1、break流程控制:强制中断该运行区内的语句,跳出该运行区,继续运行区域外的语句。

2、continue流程控制:也是中断循环内的运行操作,并且从头开始运行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-21

#include <stdio.h>
int main()
{int dx,xx,sz,qt;
 char s[200],*p;
 gets(s);
 dx=xx=sz=qt=0;
 for(p=s;*p;p++)
   if(*p>='A'&&*p<='Z')dx++;
     else if(*p>='a'&&*p<='z')xx++;
       else if(*p>='0'&&*p<='9')sz++;
         else qt++;
 printf("大写字母数:%d\n小写字母数:%d\n数字:%d\n其它字符数:%d\n",dx,xx,sz,qt);
}

本回答被提问者采纳
相似回答