字符篇 小可的编译器
来源:互联网 发布:广州数控车床编程方法 编辑:程序博客网 时间:2024/06/10 01:57
做过类似的题,然后才知道曾经那个题我就理解错了。
主要思想就是把成片成片的字符经过筛选弄到一个字符串里;
什么样的筛选呢?因为题目中要我们取寻找代码中的关键字,所以我们可以过滤,只留下与关键字有关的,
例如,字母,数字,下划线。遇到与这三者不一样的就else,因为else之后就代表一个单词的输入完成,例如
int 之后有个空格,然后else,用存进来的这个单词与所有关键词比较,计数器count自加。
记住,在每一个单词输入完之后,都要将存放单词的字符串清零。
#include<stdio.h>#include<string.h>struct A{ char s[10];} t[10];char a[10000];int main(){ int T; scanf("%d",&T); while(T--) { memset(t,0,sizeof(t)); int n; scanf("%d",&n); for(int i=0; i<n; i++) scanf("%s",&t[i].s); char ch; int k=0,count=0; while(scanf("%c",&ch)!=EOF&&ch!='@') { if(ch=='_'||(ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')) a[k++]=ch; else { for(int i=0; i<n; i++) { if(strcmp(a,t[i].s)==0) count++; } memset(a,0,sizeof(a)); k=0; } }printf("%d\n",count); }}
小珂的编译器
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
小珂今天刚学了编译原理,老师给她了一个作业。让他求出一段程序中给定的关键字的个数。请你帮她写一个程序,计算出结果并输出。
- 输入
- 第一行有一个整数1<n<=10,表示有n个测试数据。
随后的n组数据的每一行有一个整数0<m<=6,表示要统计的关键字的个数。接着是m行是m个关键字。接着是一段C++程序,遇到字符‘@’表示程序结束(保证‘@’占独立的一行)。同时保证,输入的一段无语法错误的C++程序段,不包括预处理语句,也就是不包含用‘#’开头的语句。同时保证所有的关键字一定是 char,double,float,const,int,string中的一个。程序的行数少于100行。同时保证,字符串中不会出现关键词或者包含关键词的单词。 - 输出
- 输出n行,统计出要求统计的关键字出现的总次数。
- 样例输入
24charintdoublefloatint main(){int a=10;cout<<a<<endl;}@1intint main(){ int* p;}@
- 样例输出
22
- 来源
- [iphxer]原创
- 上传者
iphxer
0 0
- 字符篇 小可的编译器
- 写给我的小可爱
- 喜欢变形金刚的小可爱看过来!
- 啡同小可——咖啡渣的创想
- 啡同小可——咖啡渣的创想
- distinct小可爱的小用法,帮了我大忙
- 小可爱
- 一位来自停电52个半小时的海妙小可爱的实验一报告
- 网站空间小可以利用外资源实现uc在线播放(写给做独立站的朋友)
- C++ 编译器对字符编码的要求和处理方式
- 字符不同编译器上占的字节数
- 拨开字符编码的迷雾--编译器如何处理文件编码
- 拨开字符编码的迷雾--编译器如何处理文件编码
- 拨开字符编码的迷雾--编译器如何处理文件编码
- 拨开字符编码的迷雾--编译器如何处理文件编码
- 第六篇 Java编译器与C/C++编译器的比较
- 我的编译器 C3编译器
- 各C/C++编译器对wchar_t字符和字符串的正确支持程度
- centos7 搭建 collectd + influxdb + statsd + grafana
- C标准
- Linux下配置环境变量
- String与StringBuffer的区别
- 欢迎使用CSDN-markdown编辑器
- 字符篇 小可的编译器
- QT源码解析之Qt处理Windows消息
- maven核心,pom.xml详解(转)
- Qt 错误:The inferior stopped because it received a signal from the Operating System
- 使用openjtag烧写s3c6410
- Android检查版本更新
- ecshop小京东后台首次上传商品不能上传相册的解决办法
- android-问题-Rendering Problems第二弹
- css3知识总结1