-
2018-11-19 19:14:47
Problem Description
对于给定的一个字符串,统计其中数字字符出现的次数。
Input
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
Output
对于每个测试实例,输出该串中数值的个数,每个输出占一行。
Sample Input
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
Sample Output
6
9
#include<stdio.h> #include<string.h> #include<Windows.h> int main () { int t; char a[1000]; scanf("%d",&t); while (t--) {int i,sum=0; scanf("%s",&a); for (i=0;i<strlen(a);i++) if(a[i]>=48&&a[i]<=57) sum+=1; printf("%d\n",sum); } system("pause"); return 0; }
更多相关内容 -
华为机试:字符串统计(全量和占用字符集)
2022-04-02 18:25:16【编程题目 | 100分】字符串统计(全量和占用字符集) [ 100 / 简单 ] 字符串统计(全量和占用字符集) 题目描述: 给定两个字符集合, 一个是全量字符集, 一个是已占用字符集, 已占用字符集中的字符不能再使用, ...【编程题目 | 100分】字符串统计(全量和占用字符集) [ 100 / 简单 ]
字符串统计(全量和占用字符集)
题目描述:
给定两个字符集合, 一个是全量字符集, 一个是已占用字符集, 已占用字符集中的字符不能再使用, 要求输出剩余可用字符集。
输入描述:
- 输入一个字符串 一定包含@,@前为全量字符集 @后的为已占用字符集
- 已占用字符集中的字符,一定是全量字符集中的字符,字符集中的字符跟字符之间使用英文逗号隔开
- 每个字符都表示为字符+数字的形式,用英文冒号分隔,比如a:1标识一个a字符
- 字符只考虑英文字母,区分大小写,数字只考虑正整型 不超过100
- 如果一个字符都没被占用,@标识仍存在
输出描述:
- 输出可用字符集,
- 不同的输出字符集之间用回车换行,
- 注意:输出的字符顺序要跟输入的一致,不能输出b:3,a:2,c:2
- 如果某个字符已全部占用,则不需要再输出
示例 1:
输入
a:3,b:5,c:2@a:1,b:2
输出
a:2,b:3,c:2
说明:
- 全量字符集为三个a,5个b,2个c
- 已占用字符集为1个a,2个b
- 由于已占用字符不能再使用
- 因此剩余可用字符为2个a,3个b,2个c
示例 2:
输入
a:3,b:5,c:2@
输出
a:3,b:5,c:2@
参考代码:
Java代码实现:
import java.util.*; import java.util.Scanner; public class stringStatistics { public static void main(String[] args) { Scanner in = new Scanner(System.in); String[] str = in.nextLine().split("@"); String[] allStr = str[0].split(","); // 全量字符集 HashMap<Character, Integer> map = new HashMap<>(); ArrayList<Character> list = new ArrayList<>(); // 统计全量字符集中各个字符的数量 for (int i = 0; i < allStr.length; i++) { String[] aStr = allStr[i].split(":"); char ch1 = aStr[0].charAt(0); // astr[0]是字符 int n1 = Integer.parseInt(aStr[1]); // astr[1]是数字 map.put(ch1, n1); list.add(ch1); } if (str.length > 1) { // 说明有占用字符集 String[] yongStr = str[1].split(","); // 在全量字符集上减去对应的占用字符集 for (int i = 0; i < yongStr.length; i++) { String[] yStr = yongStr[i].split(":"); char ch2 = yStr[0].charAt(0); int n2 = Integer.parseInt(yStr[1]); map.put(ch2, map.get(ch2) - n2); } } else { // 说明无占用字符集a:3,b:5,c:2@ String res = str[0] + "@"; System.out.println(res); return; } ArrayList<String> list2 = new ArrayList<>(); // 存储最后的String结果 for (int i = 0; i < list.size(); i++) { char c = list.get(i); String x = ""; if (map.get(c) > 0) { x = c + ":" + map.get(c); list2.add(x); } } // 输出格式 if (list2.size() > 0) { for (int i = 0; i < list2.size() - 1; i++) { System.out.print(list2.get(i) + ","); } System.out.print(list2.get(list2.size() - 1)); } } }
-
第5关:字符串统计
2021-12-13 17:29:30#include<stdio.h> #include <string.h>...//统计总长度和每组字符串长度 char arr[1000]; int max = 0;//存储最长字符串的长度 char Temp_Arr[1000];//用来储存最长字符串 gets(arr); .#include<stdio.h> #include <string.h> int main(void) { /*********Begin*********/ int sumLength = 0, partLength = 0;//统计总长度和每组字符串长度 char arr[1000]; int max = 0;//存储最长字符串的长度 char Temp_Arr[1000];//用来储存最长字符串 gets(arr); int i, j; while (strcmp(arr, "stop") != 0)//判断输入的是否为stop { for (i = 0; i < strlen(arr); i++) { if (arr[i] != ' ') { sumLength++; partLength++; } else//每遇到一次空字符,代表数完前一组字符串 { if (partLength > max) { max = partLength; } partLength = 0;//数完一组字符串长度后,计数器清0 } }//该循环记录最长字符串长度 if (partLength > max) { max = partLength; }//比较最后一组字符串长度与前一组字符串长度的大小 partLength = 0; for (i = 0; i < strlen(arr); i++) { if (arr[i] != ' ') { partLength++; if (partLength == max)//找到最长的字符串 { for (j = 0; j < max; j++)//把最长的字符串存入临时数组 { Temp_Arr[j] = arr[j + i - max+1]; } Temp_Arr[max] = '\0'; break; } } else { partLength = 0;//数完一组字符串长度后,计数器清0 } }//找最长的字符串 printf("%d %s", sumLength, Temp_Arr); printf("\n"); //开始一轮新的字符串统计 sumLength = 0; partLength = 0; max = 0; gets(arr); } /*********End**********/ return 0; }
算法
判断输入的字符串是否为stop来控制循环
统计每个空格前的一组字符串长度并相加
再记录前组字符串与本组字符串长度,并比较大小,并把最大值给max
之后再通过循环,判断每组字符串长度与max的大小
该组字符串长度等于max时,即锁定目标
找到该字符串后,通过循环把找到的字符串给临时数组,然后break直接跳出循环
任务描述
题目描述:输入一段字符(由空格、字母和数字几种组成,保证开头不为空格),里面有若干个字符串,求这些字符串的长度和,并输出最长字符串内容,如果有多个输出最先出现的那个字符串。以
stop
作为最后输入的字符串。相关知识(略)
编程要求
请仔细阅读右侧代码,结合相关知识,在
Begin-End
区域内进行代码补充。 输入 输入一段文字 输出 输入一段字符,以stop
作为最后输入的字符串。测试说明
样例输入:
My name is Amy
My name is Jane
stop
样例输出:
11 name
12 name
提示: 字符串长度不超过
100
。 -
Java练习案例之输入一个字符串统计每个字母出现次数
2021-04-07 12:02:28Java小案例:输入一个字符串,要求统计字符串中每个字符串出现的次数需求:结果预览:思路:原码: 需求: 键盘录入一个字符串,要求统计字符串中每个字符串出现的次数。 举例:键盘录入“aababcabcdabcde” 在控制台...需求:
键盘录入一个字符串,要求统计字符串中每个字符串出现的次数。
举例:键盘录入“aababcabcdabcde”
在控制台输出:“a(5)b(4)c(3)d(2)e(1)"结果预览:
思路:
1 :键盘录入一个字符串
2:创建HashMap集合,键是character,值是Integer
3:遍历字符串,得到每一个字符
4 :拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值
如果返回值是null,说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储
如果返回值不是null,说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对应的值
5:遍历HashMap集合,得到键和值,按照要求进行拼接
6:输出结果原码:
package 小案例练习.简单案例; import java.util.*; /*需求: 键盘录入一个字符串,要求统计字符串中每个字符串出现的次数。 举例:键盘录入“aababcabcdabcde”在控制台输出:“a(5)b(4)c(3)d(2)e(1)" 思路: 1 :键盘录入一个字符串 2:创建HashMap集合,键是character,值是Integer 3:遍历字符串,得到每一个字符 4 :拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值 如果返回值是null,说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储 如果返回值不是null,说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对应的值 5:遍历HashMap集合,得到键和值,按照要求进行拼接 6:输出结果 */ public class Test26StringTimes { public static void main(String[] args) { //从键盘录入 System.out.println("请输入一个字符串"); Scanner sc =new Scanner(System.in); String s = sc.nextLine(); //创建HashMap集合对象(键值无排序) TreeMap有排序 TreeMap<Character,Integer> hm=new TreeMap<>(); //遍历字符串 for(int i=0;i<s.length();i++){ char key = s.charAt(i); //拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值 Integer value = hm.get(key); if(value ==null){ hm.put(key,1); }else{ value++; hm.put(key,value); } } //遍历集合 StringBuilder sb=new StringBuilder(); Set<Character> keySet = hm.keySet(); for(Character key:keySet){ Integer value = hm.get(key); sb.append(key).append("(").append(value).append(")"); } System.out.println(sb.toString()); } }
-
输入字符串统计其中每个字符的个数
2020-08-08 00:08:11输入字符串统计其中每个字符的个数 public class HashDemo { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入字符串:"); String str = sc.next(); ... -
C 语言 字符串统计 各类字符出现的次数
2020-11-12 05:22:38#include <stdio.h> int main() { ... printf("输入一行字符\n"); while((c=getchar())!='\n') if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) letters++; els... -
Python_字符串统计大小写_简单
2021-03-18 09:08:19【问题描述】统计一行字符的大写...【提示】用字符串的方法isupper, islower来判别大小写。isdigit来判断是否是数字。 s=input('') b,l,n=0,0,0 #b大写字母数目 l小写字母数目 n数字数目 for i in s: if i.islower() -
字符数组与字符串 统计空格个数
2019-12-04 20:34:03#include<stdio.h> int main(){ char str[81]; int i,count=0; printf("请输入一行字符\n"); gets(str);... /*扫描字符数组,统计空格...i++){ /*'\0'为字符串结束标志*/ if(str[i]==' ') count++; } ... -
输入字符串统计查询字符串字节数
2018-06-20 20:36:29题目是输入一段任意字符串计算字符串的字节(提示有一个汉字二个字节,一个英文或字符一个字节。通过charCodeAt获得Unicode如果大于255是汉字否则是英文或字符。),循环判断是汉字还是别的然后统计了。function len... -
Educoder字符数组实训之字符串统计C语言版
2020-04-22 16:20:48题目描述:输入一段字符(只含有空格和字母,保证开头不为空格),里面有若干个字符串,求这些字符串的长度和,并输出最长字符串内容,如果有多个输出最先出现的那个字符串。以stop作为最后输入的字符串。 输入 输入一段... -
字符串统计不同类型字符的个数
2019-05-02 00:40:23思路: 字符串是由字符组成的 字符是有范围的 通过范围来判断是否包含该字符 ... //需求:统计一个字符串中大写字母个数、小写字母个数、数字字符个数、其他字符个数 String s = "ABCDEabc1234567!@... -
C语言-字符串统计
2018-04-22 21:01:21对于给定的一个字符串,统计其中数字字符出现的次数。 输入描述 输入数据是一个字符串。 输出描述 对于输入数据,输出该串中数值的个数。 输入样例 asdfasdf123123asdfasdf 输出样例 ... -
初识指针之字符串统计字母
2019-06-11 11:02:19要求使用指针的方法遍历该字符串,并统计字符串中英文字母的个数。 输入 输入一个字符串,不多于999个字符,以回车结束。 输出 输出字符串中英文字母的个数。 输入示例 How are you! 输出示例 9 数据范围 输入为字符... -
acwing 835. Trie字符串统计
2022-06-19 14:30:21Trie 树 : 高效地存储和查找字符串集合的数据结构。如果想在trie 中保存下面一组字符串,原理如下:abcdef、abdef、aced、bcdf、bcff、cdaa、bcdc存储: 一般来说,会在所有结尾的单词标记一下,不然在有可能重复... -
C语言-输入一行英文字符串统计单词个数
2019-11-30 21:37:37C语言-输入一行英文字符串统计单词个数,单词之间以空格隔开 判断是否为单词的依据,通过一个flag标识,flag为0表示字符为空格,接下来出现不是空格,会将flag置为1 只有当flag为1且当前字符不为空格,才会算作... -
HDU2017 字符串统计【入门】
2016-06-23 22:29:23字符串统计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 90711 Accepted Submission(s): 49649 Problem Description 对于给定的一个字符串,统计... -
字符串统计函数,统计不同字符个数和每个字符出现的次数
2009-06-25 21:30:38字符串统计函数,统计不同字符个数和每个字符出现的次数。用一个简单的数据结构做的,注释很清楚。 -
C语言:输入一行字符串统计出英文字母,空格,数字和其他字符的个数
2018-09-27 16:46:23输入一行字符串统计出英文字母,空格,数字和其他字符的个数。 程序分析 要统计英文字母,空格,数字和其他字符的个数,则要遇到他们加一。 核心代码如下: while ((c=getchar())!='\n') { if ((c >= 'a' ... -
java实现统计字符串中字符及子字符串个数的方法示例
2021-02-12 15:45:23本文实例讲述了java实现统计字符串中字符及子字符串个数的方法。分享给大家供大家参考,具体如下:这里用java实现统计字符串中的字符(包括数字、大写字母、小写字母以及其他字符)个数,以及字符串的子字符串的个数。... -
HDU - 2017 字符串统计
2020-04-10 00:14:51对于给定的一个字符串,统计其中数字字符出现的次数。 Input 输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。 Output 对于每个测试实例,... -
输入一个字符串,统计字符串中每个字符出现的次数
2022-03-02 09:59:21v=input("请输入一串字符串:") x={} for i in v: x[i]=v.count(i) for key in x: print(f'"{key}":{x[key]}次') 显示结果 -
golang count 单字符 字符串 统计函数
2020-11-21 11:23:49在开发过程中,很多时候我们有统计单个字符或者字符串在另一个字符串中出现次数的需求,在Go 语言中,统计字符串出现次数我们使用 count() 函数。 Strings.count()函数 语法 func Count(s, substr string) int ... -
统计字符串中每个字符出现的次数
2021-04-18 02:09:20本文收集整理关于统计字符串中每个字符出现的次数的相关议题,使用内容导航快速到达。内容导航:Q1:c语言统计字符串中每个字符出现的次数一、算法分析:要统计每个字符出现的个数,那么就要为每个字符做一个统计值... -
统计字符串中各类字符的个数
2020-06-08 22:19:54统计字符串中各类字符的个数 一、题目描述 从键盘输入一行字符串,统计其中的大写字母、小写字母、空格、数字、和其他字符的个数。(更好的阅读体验,请浏览统计字符串中各类字符的个数) 二、分析解答 本题... -
统计字符串中字母出现次数
2022-01-22 12:35:21str.length() 用来获取字符串中字符的个数,包括空格符。 str.replace(word, “”) 的作用是将字符串中指定字符移除。 str.replace(word, “”).length() 是移除指定字符后的字符串长度。 所以 str.length() - str.... -
C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串。
2020-09-25 21:45:17输入一个字符串,统计字符个数,并按照倒序输出该字符串。 #include<stdio.h> void main() { char str[10]; scanf("%s", str); int i = 0, k = 0, count = 0; while(i<10) { if(str[i] == '\0') { ... -
C语言:输入一串字符串,统计字符串中有多少个数字
2022-03-12 12:36:55gets函数会在输入完字符后自动补上一个\0,所以用这个特性可以计算出字符串是否结束。 因为数字在字符中对应的ascii码就是0~9,只要遇到小于9的字符就是数字,所以计数器加一 #include<stdio.h> int c ... -
用Python统计字符串个数
2021-01-16 16:04:501.题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。...s = raw_input('请输入字符串:\n') letters = 0 space = 0 digit = 0 others = 0 for c in s: if c.isalpha(): letters += 1 elif c. -
初识指针之字符串统计空格
2019-06-11 11:02:04要求使用指针的方法遍历该字符串,并统计字符串中空格的个数。 输入 输入一个字符串,不多于999个字符,以回车结束。 输出 输出字符串中空格的个数。 输入示例 How are you! 输出示例 2 数据范围 输入为字符串,输出... -
c语言怎样实现统计字符串中各个字符的个数
2021-05-18 11:08:23c语言怎样实现统计字符串中各个字符的个数发布时间:2020-05-18 16:35:12来源:亿速云阅读:270作者:Leahc语言怎样实现统计字符串中各个字符的个数?针对这个问题,今天小编总结这篇有关c语言统计字符的文章,希望...