注册 登录
编程论坛 C++教室

求修改,可读取空格 数字与字符,cin 无法读取空格,就是不会修改

简单快乐555 发布于 2014-06-07 08:15, 662 次点击
程序代码:
#include<iostream>
#include<string>
using namespace std;
void search(char *s,char c[]);
int main()
{
    char string[100];
    cout<<"please enter string:"<<endl;
    cin>>string;
    char *p;
    p=string;
    search(p,string);
     return 0;
}
void search(char *s,char c[])
{
    int i;
    int a=0,b=0,f=0,d=0;
    int stren=0;
    s=c;
    while(*s!='\0')
    {
        s++;
        stren++;
    }
    for(i=0;i<stren;i++)
    {
        if((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<='Z'))
        {
            a++;
        }
        else if (c[i]>=0&&c[i]<=9)
        {
            b++;     
        }
        else if(c[i]==' ')
        {
            f++;   
        }
        else
        {
            d++;
        }
    }
    cout<<"字母的个数:"<<a<<endl;
    cout<<"数字的个数:"<<b<<endl;
    cout<<"空格的个数:"<<f<<endl;
    cout<<"其它的个数:"<<d<<endl;
    cout<<endl;
}
4 回复
#2
TonyDeng2014-06-07 12:50
cin不行,不会换个方法?
#3
rjsp2014-06-08 00:33
搜noskipws

另外,你#include <string>就是为了给变量取名为string?
#4
律吕调阳2014-06-09 13:41
getline  头文件#include<string>
另外最好不要用string作为变量名,C++库中有这个string类。
#5
靠谱的白蓝2014-06-16 14:33
这个是在你的基础上改的!仔细看就行。。希望对你有用!
#include<iostream>
#include<string>
using namespace std;
void search(char *s,char c[]);
int main()
{
    {
    char string[100];
    cout<<"please enter string:"<<endl;
    cin>>string;
    char *p;
    p=string;
    search(p,string);
     return 0;
    }
}
void search(char *s,char c[])
{
    int i;
    int a=0,b=0,f=0,d=0;
    int stren=0;
    s=c;
    while(*s!='\0')
    {
        s++;
        stren++;
    }
    for(i=0;i<stren;i++)
    {
        if((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<='Z'))
        {
            a++;
        }
        else if (c[i]>=0||c[i]<=9)//条件设置为或,
        {
            b++;     
        }
        else if(c[i]==' ')
        {
            f++;   
        }
        else
        {
            d++;
        }
    }
    cout<<"字母的个数:"<<a<<endl;
    cout<<"数字的个数:"<<b<<endl;
    cout<<"空格的个数:"<<f<<endl;
    cout<<"其它的个数:"<<d<<endl;
   

}
1