首页 > 试题广场 >

统计大写字母个数

[编程题]统计大写字母个数
  • 热度指数:136559 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
找出给定字符串中大写字符(即'A'-'Z')的个数。
数据范围:字符串长度:
字符串中可能包含空格或其他字符
进阶:时间复杂度:,空间复杂度:

输入描述:

对于每组样例,输入一行,代表待统计的字符串



输出描述:

输出一个整数,代表字符串中大写字母的个数

示例1

输入

A 1 0 1 1150175017(&^%&$vabovbaoadd 123#$%#%#O

输出

2
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            char[] ch = sc.nextLine().toCharArray();
            int nums = 0;
            for(int i=0;i<ch.length;i++){
                if(ch[i]>='A' && ch[i]<='Z'){
                    nums++;
                }
            }
            System.out.println(nums);
        }
    }
}

发表于 2018-10-02 10:43:24 回复(6)
while True:
    try:
        a = input()
        count = 0
        for c in a:
            if c.isupper():
                count += 1
        print(count)
    except:
        break

发表于 2021-02-24 20:10:54 回复(0)
s = input()
l = []
for i in s:
    if i.isupper():
        l.append(i)
print(len(l))

发表于 2022-03-24 23:04:12 回复(0)
import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while (in.hasNextLine()) {
			String s = in.nextLine();
			int count = 0;
			for (int i = 0; i < s.length(); i++) {
				if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {
					count++;
				}
			}
			System.out.println(count);
		}
    }
}

发表于 2021-09-15 23:31:02 回复(0)
package HUAWEI3;

import java.util.Scanner;

public class Demo04 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			String s = sc.next();
			int num = 0;
			for(int i=0;i<s.length();i++){
				String temp = String.valueOf(s.charAt(i));
				if(temp.matches("[A-Z]")){
					num++;
				}
			}
			System.out.println(num);
		}
		sc.close();
	}
}


发表于 2016-12-21 22:43:41 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while (sc.hasNext()) {
            String s = sc.next();
            int cnt = 0;
            for(int i=0; i<s.length(); i++) {
                if(s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {
                    cnt ++;
                }
            }
            System.out.println(cnt);
        }
    }
}

发表于 2018-10-08 22:42:29 回复(0)
while 1:
    try:
        count=0
        s=input()
        for i in range(len(s)):
            if s[i].isupper():
                count+=1
        print(count)
    except:
        break

发表于 2021-06-02 10:56:36 回复(0)
int main() 
{
    string sinput;    
    while (getline(cin, sinput)) { 
        int icount = 0;
        for(int i=0;i<sinput.size();i++){
            char c = sinput[i];
            if((c>='A')&&(c<='Z')){
                icount++;
            }
        }
        cout << icount << endl;
   }
}

发表于 2021-04-15 22:07:40 回复(0)
直接筛选在大写字母列表内的字符
import sys
for line in sys.stdin:
    uplis = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    nn = [i for i in line if(i in uplis)]
    print(len(nn))

发表于 2020-09-02 21:24:21 回复(0)
from itertools import chain
import re
while True:
    try:
        s = re.findall(r'[A-Z]',input())
        print(len(list(chain(*s))))
    except:
        break
python3 主要语句两行实现
发表于 2020-08-18 22:23:55 回复(0)
import java.util.*;
import java.io.*;


public class Main{
    
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
            
        while(scanner.hasNextLine()){
            String str = scanner.nextLine();
            
            System.out.println(fun(str));
        }
        
    }
    public static int fun(String arr){
        return arr.replaceAll("[^A-Z]*","").length();
    }

   
}






发表于 2020-08-01 17:48:19 回复(0)
直白的解法
#include <iostream>
(720)#include <string>
using namespace std;
int main()
{
    string a;
    while(cin>>a)
    {
        int b=0;
        for(int i=0;i<a.size();i++)
        {
            if((a[i]>64)&&(a[i]<97))
            {
                b++;
            }
        }
        cout<<b<<endl;
    }
    return 0;
}

发表于 2020-03-29 14:48:56 回复(3)
import re
while 1:
    try:
        str1 = input()
        print(len(str1)-len(re.sub(r"[A-Z]", "", str1)))
    except:
        break

发表于 2020-02-28 00:28:01 回复(1)
// C++ 一行解法
#include <iostream>
(720)#include <string>
#include <algorithm>

int main(int argc, char* argv[])
{
    std::string str;
    while (std::cin >> str) std::cout << std::count_if(str.cbegin(), str.cend(), [](const char c)->bool { return isupper(c);  }) << std::endl;
    return 0;
}

发表于 2020-02-26 11:37:14 回复(0)

终于有能一分钟不到写完的c++了

#include <string>
#include <iostream>
using namespace std;
int CalcCapital(string &str)
{
    int len = str.length();
    int count = 0;
    for(int i=0; i<len; ++i)
    {
        if(str[i]<='Z'&&str[i]>='A')
            count++;
    }
    return count;
}
int main()
{
    string str;
    while(getline(cin, str))
    {
        cout << CalcCapital(str) << endl;
    }
    return 0;
}


发表于 2020-02-08 13:08:35 回复(0)
#include<iostream>
#include<cstring>
using namespace std;
int main(){
    char ch[1000];
    while(cin>>ch){
        int count=0;
        for(int i=0;i<strlen(ch);i++)
            if(ch[i]>='A'&&ch[i]<='Z')
                count++;
        cout<<count<<endl;
    }
}
没什么好说的啦,这个就非常基础
发表于 2020-01-09 16:40:24 回复(0)
# python3 一行解法
while 1:
    try:
        print(len(list(filter(lambda x: x.isupper(),input()))))
    except: break

发表于 2019-12-02 13:33:28 回复(1)
import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            String str=sc.nextLine();
            char[] ch=str.toCharArray();
            int count=0;
            for (int i = 0; i < ch.length; i++) {
                if (ch[i]>='A' && ch[i]<='Z')  {
                    count++;
                }
            }
            System.out.println(count);
        }
        sc.close();
    }
}

编辑于 2018-04-06 16:01:29 回复(0)
import java.util.Scanner;

public class Main{
     public static void main(String args[]){
        Scanner in = new Scanner(System.in);
        while (in.hasNext()){
            String str = in.next();
            int n=0;
            for(int i=0;i<str.length();i++){
                if(str.charAt(i)>='A' && str.charAt(i)<='Z')
                    n++;
            }
            System.out.println(n);
        }
        in.close();
     }
}

发表于 2017-07-09 13:46:23 回复(0)
#include<iostream>
#include<string>

using namespace std;

int main()
{
    string s;
    while(cin >> s)
    {
        int count = 0;
        for(auto& c:s) if(c >= 'A' && c <= 'Z') ++count;
        cout << count << endl;
    }
    return 0;
}

发表于 2017-07-06 14:46:31 回复(0)