2598 - C二级辅导-统计字符
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
Input
Output
Examples
Input
a 1,
Output
1 1 1 1
Solution C
#include <stdio.h> int isCharacter(char *p) { if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')) { return 1; }else { return 0; } } int isSpace(char *p) { if (*p == 0x20) { return 1; }else { return 0; } } int isNumber(char *p) { if (*p >= 0x30 && *p <= 0x39) { return 1; }else { return 0; } } int main() { char ch; int n_ch, n_sp, n_num, n_other; n_ch = n_sp = n_num = n_other = 0; while ((ch = getchar()) != '\n') { if (isCharacter(&ch)) { n_ch ++; }else if (isSpace(&ch)) { n_sp ++; }else if (isNumber(&ch)) { n_num ++; }else { n_other ++; } } printf("%d\n%d\n%d\n%d\n", n_ch, n_sp, n_num, n_other); return 0; }
Solution C++
#include <stdio.h> #include <string.h> char a[100000]; int main() { int f,b,c,d; while(gets(a)) { f=b=c=d=0; for(int i=0;i<strlen(a);i++) { if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) { f++; } else if(a[i]==' ') b++; else if((a[i]>='1'&&a[i]<='9')||a[i]=='0') c++; else d++; } printf("%d\n%d\n%d\n%d\n",f,b,c,d); } return 0; }