【问题描述】
统计关键字出现位置
输入:
一行标准 c 语言代码(字符个数小于 300),统计出该字符串中关键字的 if,while,for 所
在的位置,按照关键字出现的顺序依次输出。注意双引号内的不需要统计。
输入:一行标准 c 语言代码,字符个数小于 300
输出:
关键字 if,while,for 对应的位置,按照关键字出现的顺序依次输出。输出格式为:关键字,
后跟冒号,然后是出现的位置。扫描到关键字就输出,每个输出占一行。
样例输入:
#include <stdio.h> int main() {int i = 0; if(i == 0) printf("YES"); return 0;}
#include <stdio.h> int main() {int ifwhile = 0; int forif = 1;char if_for_while =
'a';char *str = "while"; while(ifwhile == 0) {ifwhile = 1;forif = 0;} if(forif ==
0) {if_for_while = 'b';} if(ifwhile == 1) {if_for_while = 'c';} return 0;}
样例输出:
if:43
while:88
if:133
统计关键字出现位置
输入:
一行标准 c 语言代码(字符个数小于 300),统计出该字符串中关键字的 if,while,for 所
在的位置,按照关键字出现的顺序依次输出。注意双引号内的不需要统计。
输入:一行标准 c 语言代码,字符个数小于 300
输出:
关键字 if,while,for 对应的位置,按照关键字出现的顺序依次输出。输出格式为:关键字,
后跟冒号,然后是出现的位置。扫描到关键字就输出,每个输出占一行。
样例输入:
#include <stdio.h> int main() {int i = 0; if(i == 0) printf("YES"); return 0;}
#include <stdio.h> int main() {int ifwhile = 0; int forif = 1;char if_for_while =
'a';char *str = "while"; while(ifwhile == 0) {ifwhile = 1;forif = 0;} if(forif ==
0) {if_for_while = 'b';} if(ifwhile == 1) {if_for_while = 'c';} return 0;}
样例输出:
if:43
while:88
if:133
if:170
解题思路:
我的理解就是遍历一下每个字符 判断是否是i , w , f,如果不是这3个就下一个如果是的话,直接判断是否是这个单词,
然后在判断一下第一个字符的前一个和最后一个的下一个字符是否是分隔符。