Problem B: 数字字符统计(字符数组)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:14 Solved:9

Description

输入一串字符,至少包含一个“#”,统计字符串中“#”号前面数字字符的出现次数。

Input

输入一行,前1000个字符内必定有“#”号且“#"号前面至少有1个数字字符。

Output

输出”#"之前出现的数字字符及其出现的次数,每个数字字符一行,按数字字符ASCII码从小到大输出。

Sample Input Copy

hello365days36hours#9999999end

Sample Output Copy

3 2
5 1
6 2

HINT

样例说明:#号前面有数字3、6、5、3、6,出现的数字为3、5、6,分别出现2、1、2次。
字符串可以作为一维字符数组来处理
字符数组视频讲解:https://www.bilibili.com/video/BV1CkkAYFEYe?spm_id_from=333.788.videopod.sections&vd_source=ed609f9463861996afb742d2bd8b5a46
格式:

从键盘输入一个字符数组可以使用scanf语句或gets语句,使用gets,是从光标开始的地方读到换行符也就是说读入的是一整行,而使用scanf是从光标开始的地方到空格,如果这一行没有空格,才读到行尾。

(1)scanf语句

     格式:scanf(“%s”,字符串名称);

(2)gets语句

     格式:gets(字符串名称);

示例:

scanf(“%s”,s1);gets(s2);对于相同的输入Hello World!。s1获取的结果仅仅是Hello,而s2获取的结果则是Hello World!



#include<bits/stdc++.h>

int main()

{

  char s1[100];

  scanf(“%s”,s1);//读入1个字符串

  printf("%s",s1);//输出1个字符串

  printf("\n");//换行

}



#include<bits/stdc++.h>

int main()

{

  char s2[100];

  gets(s2);

  puts(s2);//输出1个字符串并换行

}

Source/Category