1251 - C语言10.21
时间限制 : 1 秒
内存限制 : 32 MB
输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。
题目输入
只有一行,表示一个字符串,保证长度不超过100。
题目输出
共有5个整数,分别为输入的字符串中大写字母、小写字母、空格、数字以及其他字符各有多少个,用空格隔开。
请注意行尾输出换行。
输入/输出样例
输入格式
void main() { int i, TOTAL = 0; for (i = 0; i < 100; i++) TOTAL += i; }
输出格式
10 19 19 5 18
C语言解答
int main() { char ch; int a, b, c, d, e; a = 0; b = 0; c = 0; d = 0; e = 0; while ((ch = getchar()) != '\n') { if ('A' <= ch && ch <= 'Z') a++; else if ('a' <= ch && ch <= 'z') b++; else if (ch == ' ') c++; else if ('0' <= ch && ch <= '9') d++; else e++; } printf("%d %d %d %d %d\n", a, b, c, d, e); return 0; }
C++解答
#include <stdio.h> #include <string.h> int main() { char ch; int a, b, c, d, e; a = 0; b = 0; c = 0; d = 0; e = 0; while ((ch = getchar()) != '\n') { if ('A' <= ch && ch <= 'Z') a++; else if ('a' <= ch && ch <= 'z') b++; else if (ch == ' ') c++; else if ('0' <= ch && ch <= '9') d++; else e++; } printf("%d %d %d %d %d\n", a, b, c, d, e); return 0; }
Java解答
import java.util.Scanner; public class Main{ private static Scanner s = new Scanner(System.in) ; public static void main(String[] args) { String str = s.nextLine() ; char[]c = str.toCharArray() ; int a = 0 ; int b = 0 ; int d = 0 ; int e = 0 ; int f = 0 ; for (int i = 0; i < c.length; i++) { if('A'<=c[i]&&c[i]<='Z'){ a++ ; } else if('a'<=c[i]&&c[i]<='z'){ b++ ; } else if(c[i]==' '){ d++ ; } else if('0'<=c[i]&&c[i]<='9'){ e++ ; }else f++ ; } System.out.println(a+" "+b+" "+d+" "+e+" "+f) ; } }