试写一个c语言程序,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1&序列2’模式的字符序列。其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。
时间: 2023-04-08 14:05:06 浏览: 105
抱歉,我可以回答这个问题。以下是一个C语言程序,可以判断输入的字母序列是否为形如“序列1@”:
#include <stdio.h>
int main() {
char c;
int state = 0;
while ((c = getchar()) != '@') {
switch (state) {
case 0:
if (c == '1') {
state = 1;
} else {
state = -1;
}
break;
case 1:
if (c == '2') {
state = 2;
} else if (c == '@') {
state = 3;
} else {
state = -1;
}
break;
case 2:
if (c == '@') {
state = 3;
} else {
state = -1;
}
break;
}
if (state == -1) {
printf("不是形如“序列1@”\n");
return 0;
}
}
if (state == 3) {
printf("是形如“序列1@”\n");
} else {
printf("不是形如“序列1@”\n");
}
return 0;
}
阅读全文