Cheering Gym-101522C
题意:
在一个字符串(N≤100)中,子串LSC,PCMS谁出现的次数多输出谁,相等输出Tie。
(1)直接法
#include <stdio.h>
#include <string.h>
int
main() {
char n[105];
int i, len, lsc = 0, pcms = 0;
gets(n);
len = strlen(n);
for( i = 0; i < len; i++ ) {
if( n[i] == 'L' && n[i + 1] == 'S' && n[i + 2] == 'C' ) {
lsc++;
}
if( n[i] == 'P' && n[i + 1] == 'C' && n[i + 2] == 'M' && n[i + 3] == 'S' ) {
pcms++;
}
}
if( lsc > pcms ) {
puts("LSC");
}
else if( lsc < pcms ) {
puts("PCMS");
}
else {
puts("Tie");
}
return 0;
}
(2)库函数
#include <stdio.h>
#include <string.h>
int
main() {
char n[105];
int i, len, lsc = 0, pcms = 0;
gets(n);
len = strlen(n);
for( i = 0; i < len; i++ ) {
if( strncmp(n + i, "LSC", 3) == 0 ) {
lsc++;
}
if( strncmp(n + i, "PCMS", 4) == 0 ) {
pcms++;
}
}
if( lsc > pcms ) {
puts("LSC");
}
else if( lsc < pcms ) {
puts("PCMS");
}
else {
puts("Tie");
}
return 0;
}
本文介绍了一种通过直接法和库函数两种方式实现的字符串匹配算法,用于比较字符串中LSC与PCMS两个子串出现的次数,并根据结果输出相应的提示信息。
3392

被折叠的 条评论
为什么被折叠?



