串,KMP算法,实战

该程序通过KMP算法判断学生的作业记录是否合格。合格条件为:漏交作业不超过1次,且没有连续三次迟交。输入为只包含LAO的字符串,输出为true或false。程序实现了字符串处理、KMP算法以及用户输入验证等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

``## c出勤记录##
小新老师每次都会统计学生的作业提交记录
如果作业迟交 就会记录一个L
如果作业没交 会记录一个A
准时完成会记录为O
一段时间后, 学生的作业提交记录可以看作是一个只包含LAO的字符串
如果学生整学期漏交不超过一次, 并且没有连续三次迟交 他的作业记录就算合格
设计一个程序, 判断学生的作业记录是否合格
输入:
一个字符串 表示学生的作业记录
输出:
如果作业记录合格 输出true 否则输出false
样例输入:
LLOLLALL
样例输出:
true
样例输入:
OLLLOOOO
样例输出:
false

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAXSIZE 1024 //串的长度
//字符串
typedef struct
{
char memory[MAXSIZE]; //字符数组
int curSize; //串的长度参数
}string, * LPSTR;
//创建一个串
LPSTR createStr(const char* str);
//寻找匹配值(pstr ,串 next 储存匹配值的数组 ),
void getNext(LPSTR pstr, int next[]);
//KMP算法
int KMP(LPSTR pStr1, LPSTR pStr2, int next[]);
//接收用户输入
void str(char* s);
//记录未交作业次数
int num(char* s);
int main()
{
while (1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c语言,c++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值