1.输入一行字符,分别统计其中英文字母,空格,数字和其他字符的个数。
输入格式:
My teacher's address is "#123 Beijing Road,Shanghai".
输出格式:
letters:38,space:6,digit:3,other:6
代码:
#include<iostream>
using namespace std;
int main(){
char c;
int letters=0,space=0,digit=0,other=0;
while((c = getchar()) != '\n'){
if((c >='a' && c <= 'z') || (c >= 'A' && c <= 'z'))
letters++;
else if(c == ' ')
space++;
else if(c >= '0' && c <= '9')
digit++;
else other++;
}
cout<<"letters:"<<letters<<",space:"<<space
<<",digit:"<<digit<<",other:"<<other<<"\n";
return 0;
}
Java题解:
package com.itheima;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = scanner.nextLine();
classify(str);
}
static void classify(String str){
char c;
int letters=0,space=0,digit=0,other=0;
for (int i=0;i<str.length();i++){
c = str.charAt(i);
if((c >= 'A' && c <= 'Z') || (c >= 'a') && (c <= 'z')){
letters++;
}
else if(c >= '0' && c <= '9'){
digit++;
}
else if(Character.isSpaceChar(c)){
space++;
}
else
other++;
}
System.out.println("letters:" + letters + ",space:"+space
+",digit:" + digit+",other:" + other);
}
}