1416 - C语言-字符统计
时间限制 : 1 秒
内存限制 : 128 MB
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
题目输入
一行字符
题目输出
统计值
输入/输出样例
输入格式
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
输出格式
23 16 2 4
C语言解答
int main(int argc, char* argv[]) { int a,b,c,d,i; char str[100]; while(gets(str)) { a=b=c=d=0; for(i=0;str[i]!='\0';i++) { if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) a++; else if(str[i]>='0'&&str[i]<='9') b++; else if(str[i]==' ') c++; else d++; } printf("%d %d %d %d\n",a,b,c,d); } return 0; }
C++解答
#include<iostream> #include<fstream> #include<string> #include<cstring> #include<cmath> using namespace std; int main() { //ifstream cin("aaa.txt"); int i,j,n,m,x1,x2,x3,x4,len; x1=x2=x3=x4=0; string s; getline(cin,s); len=s.size(); for(i=0;i<len;i++) { if(isalpha(s[i])) x1++; else if(s[i]==' ') x2++; else if(isdigit(s[i])) x3++; else x4++; } cout<<x1<<" "<<x3<<" "<<x2<<" "<<x4<<endl; return 0; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin= new Scanner(System.in); while (cin.hasNext()) { String a = cin.nextLine(); int letterCounter = 0; int digitCounter = 0; int spaceCounter = 0; int otherCounter = 0; char[] charArray = a.toCharArray(); for (int i = 0; i < charArray.length; i++) { if (Character.isLetter(charArray[i])) { letterCounter++; } else if (Character.isDigit(charArray[i])) { digitCounter++; } else if (Character.isSpaceChar(charArray[i])) { spaceCounter++; } else { otherCounter++; } } System.out.println(letterCounter + " " + digitCounter + " " + spaceCounter+ " " + otherCounter); } } }