求这些字符的个数???
从键盘输入一行字符,要求计算出字母,数字,符号的个数?????还要把他们分别输出!!!!
[解决办法]
差不多就这样子吧。你在测试下,应该没什么问题。
- 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;}
[解决办法]
像这样的问题,应该不是很难。自己尝试写一写,如果出现了错误,或者因逻辑不多不能够实现。你可以把代码贴上然后让大家帮你看看,这样比让大家给你写出来效果要好的。 仅是个人见解。
[解决办法]