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
格式:
字符串可以作为一维字符数组来处理
字符数组视频讲解: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个字符串并换行
}