📄 1242.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1242 on 2005-09-30 at 16:16:44 */
#include <cstdio>
#include <cstring>
int main()
{
bool appE, appOpr, appDot, appNum, appSpace, followDot;
bool legal;
char real[256], *n;
int p, i, len;
while(true) {
gets(real);
if(!strcmp(real, "*")) {
return 0;
} else {
for(p = 0; p < 256; p++) {
if(real[p] != ' ') {
break;
}
}
appSpace = appE = appOpr = appDot = appNum = false;
legal = true;
len = strlen(real) - p;
n = real+p;
for(i = 0; i < len; i++) {
if(n[i] == '.') {
if(appSpace || appDot || !appNum || i == len-1 || appE) {
legal = false;
break;
} else {
appDot = true;
followDot = true;
}
} else if(n[i] == 'e' || n[i] == 'E') {
if(followDot || appSpace || appE || !appNum || i == len-1) {
legal = false;
break;
} else {
appNum = false;
appOpr = false;
appE = true;
followDot = false;
}
} else if(n[i] == '+' || n[i] == '-') {
if(appSpace || appOpr || appNum) {
legal = false;
break;
} else {
appOpr = true;
followDot = false;
}
} else if(n[i] >= '0' && n[i] <= '9') {
appNum = true;
followDot = false;
} else if(n[i] == ' ') {
appSpace = true;
} else {
legal = false;
break;
}
}
if(legal) {
if(!appE && !appDot) {
printf("%s is illegal.\n", n);
} else {
printf("%s is legal.\n", n);
}
} else {
printf("%s is illegal.\n", n);
}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -