读书人

求这些字符的个数?该怎么处理

发布时间: 2012-05-13 16:39:43 作者: rapoo

求这些字符的个数???
从键盘输入一行字符,要求计算出字母,数字,符号的个数?????还要把他们分别输出!!!!

[解决办法]
差不多就这样子吧。你在测试下,应该没什么问题。

C/C++ code
#include<stdio.h>#include <stdlib.h>#include <string.h>#define MAXSIZE 100void ShowChrNumStr(char *a){    char chr[MAXSIZE],num[MAXSIZE],str[MAXSIZE];    char *temp1=chr,*temp2=num,*temp3=str;    while (*a)    {        if (*a>='a'&&*a<='z'||*a>='A'&&*a<='Z')        {            *temp1++=*a;        }        else            if ('1'<=*a&&*a<='9')            {                *temp2++=*a;            }        else                if (*a!=' ')                {                     *temp3++=*a;                }        a++;    }        *temp1='\0';*temp2='\0';*temp3='\0';        printf("  字符串的字母%s有%d个\n",chr,strlen(chr));        printf("  字符串的数字%s有%d个\n",num,strlen(num));        printf("  字符串的符号%s有%d个\n  ",str,strlen(str));}int main(){    char a[MAXSIZE];    puts("请输入一串字符:");    gets(a);    ShowChrNumStr(a);    system("pause");    return 0;}
[解决办法]
菜鸟回答看看,别介意

#include <iostream>
#include<string>
#include<cctype>
using namespace std;


int main()
{
string cin_str;
string space, num, letter;
getline(cin, cin_str);
for(string::size_type size = 0; size !=cin_str.size(); size++)
{
if(isdigit(cin_str[size]))
num += cin_str[size];
if(isalpha(cin_str[size]))
letter += cin_str[size];
if(isspace(cin_str[size]))
space += cin_str[size];

}

cout<<num.size()<<" "<<num<<endl
<<letter.size()<<" "<<letter<<endl
<<space.size()<<" "<<space<<endl;

return 0;

}
[解决办法]
C/C++ code
int _tmain(int argc, _TCHAR* argv[]){    int a[256] = {0};    int b;    while ((b=getchar())!=10)    {        a[b]++;    }    b = 0;    while (b<256)    {        if (a[b]>0)        {            printf("%d个%c\n", a[b], b);        }        b++;    }    return 0;}
[解决办法]
知道不男还不自己写
LS的直接就把完整的代码给LZ了,真大方啊
[解决办法]
害人的人真多,多半是作业题。。。。。。
[解决办法]
看懂了 记着了 就是自己的
有简单的 复杂的就可以忘记了
[解决办法]
C/C++ code
#include<stdio.h>#include<string.h>int main(){    char str[100];    char zhimu[100];    char shuzhi[100];    char fuhao[100];    scanf("%s", str);    int j,k,l;    j=k=l=0;    for(int i = 0; i< strlen(str); ++i)    {        if(str[i]<='9'&&str[i]>='0')        {            shuzhi[j++] = str[i];        }        else if(str[i]<='z'&&str[i]>='a' || str[i]<='Z'&&str[i]>='A')        {            zhimu[k++] = str[i];        }        else            fuhao[l++] = str[i];    }    shuzhi[j]='\0';    zhimu[k]='\0';    fuhao[l]='\0';    printf("数字个数:%d %s\n", j,shuzhi);    printf("字母个数:%d %s\n", k,zhimu);    printf("符号个数:%d %s\n", l,fuhao);    return 0;}
[解决办法]
像这样的问题,应该不是很难。自己尝试写一写,如果出现了错误,或者因逻辑不多不能够实现。你可以把代码贴上然后让大家帮你看看,这样比让大家给你写出来效果要好的。 仅是个人见解。


[解决办法]

探讨
像这样的问题,应该不是很难。自己尝试写一写,如果出现了错误,或者因逻辑不多不能够实现。你可以把代码贴上然后让大家帮你看看,这样比让大家给你写出来效果要好的。 仅是个人见解。

读书人网 >C++

热点推荐