1251 - C语言10.21

通过次数

0

提交次数

0

时间限制 : 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) ;
    }
}