标题:分类统计字符串中字符个数的问题
只看楼主
jacky3513
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-14
 问题点数:0 回复次数:4 
分类统计字符串中字符个数的问题

本人刚学C++,自己编了一个小程序,但是输入字串按回车没反应,不知道哪里有问题,望高手指教。程序如下:

#include <iostream>
#include <stdio.h>
using namespace std;
void main ()
{
int a=0,b=0,c=0,d=0,e=0;
char s1;
while((s1=getchar())!=13)
{ if ((s1)>='A'&&(s1)<='Z')
a++;
else if ((s1)>='a'&&(s1)<='z')
b++;
else if ((s1)=32)
c++;
else if ((s1)>='0'&&(s1)<='9')
d++;
else
e++;

};
cout<<"字符串中大写字符共有:"<<a<<endl;
cout<<"字符串中小写字符共有:"<<b<<endl;
cout<<"字符串中空格字符共有:"<<c<<endl;
cout<<"字符串中数字字符共有:"<<d<<endl;
cout<<"字符串中其它字符共有:"<<e<<endl;
}

搜索更多相关主题的帖子: 字符 else include 
2005-12-14 21:24
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
得分:0 
s1=getchar())!=13
char int???

http://kongfuziandlife. http://codeanddesign.
2005-12-14 22:48
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
得分:0 
应该对输入的字符串逐个判断吧

#include <iostream>
#include <stdio.h>
using namespace std;
void main ()
{
int a=0,b=0,c=0,d=0,e=0;
char s[13];
gets(s);
char *p=s;
while(*p)
{ if (*p>='A'&&*p<='Z')
a++;
else if (*p>='a'&&*p<='z')
b++;
else if (*p=32)
c++;
else if (*p>='0'&&*p<='9')
d++;
else
e++;
p++;

}
cout<<"字符串中大写字符共有:"<<a<<endl;
cout<<"字符串中小写字符共有:"<<b<<endl;
cout<<"字符串中空格字符共有:"<<c<<endl;
cout<<"字符串中数字字符共有:"<<d<<endl;
cout<<"字符串中其它字符共有:"<<e<<endl;
}

//如果是for循环就用s[i]代替*p


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2005-12-14 22:50
ElfDN
Rank: 4
等 级:贵宾
威 望:11
帖 子:291
专家分:0
注 册:2005-11-13
得分:0 
#include<iostream>
using namespace std;
int main(){
int a,b,c,d,e,len;
string s;//要用char的话也要是char*,string读不到空格的,所以要用getline。
getline(cin,s);
len=s.length();
a=b=c=d=e=0;
for(int i=0; i<len; i++)
if(s[i]>='A'&&s[i]<='Z')
a++;
else if (s[i]>='a'&&s[i]<='z')
b++;
else if (s[i]=' ')
c++;
else if (s[i]>='0'&&s[i]<='9')
d++;
else
e++;
cout<<"字符串中大写字符共有:"<<a<<endl
<<"字符串中小写字符共有:"<<b<<endl
<<"字符串中空格字符共有:"<<c<<endl
<<"字符串中数字字符共有:"<<d<<endl
<<"字符串中其它字符共有:"<<e<<endl;
}

2005-12-15 10:11
C大少
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-12-19
得分:0 
请问while((s1=getchar())!=13)里的13是什么键的ASCII码?

2005-12-24 03:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-38194-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071188 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved