⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1242.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 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 + -