能识别浮点数的简单词法分析程序(C语言实现)
时间: 2023-12-04 15:06:21 浏览: 29
可以使用C语言实现一个简单的浮点数词法分析程序,其基本思路是从输入字符串中逐个读取字符,判断其是否为数字或小数点,将其转化为浮点数进行输出。以下是一个示例代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
double num = 0.0;
int decimal = 0;
printf("请输入一个浮点数:");
scanf("%s", input);
for (int i = 0; input[i] != '\0'; i++) {
if (isdigit(input[i])) {
if (decimal) {
num += (input[i] - '0') / 10.0;
decimal++;
} else {
num = num * 10.0 + (input[i] - '0');
}
} else if (input[i] == '.') {
decimal = 1;
} else {
printf("输入有误!\n");
return 0;
}
}
printf("识别的浮点数为:%f\n", num);
return 0;
}
```
输入一个字符串,逐个读取其中的字符,如果是数字则将其转化为浮点数,如果是小数点则标记下来,最后输出识别到的浮点数即可。需要注意的是,输入的字符串必须是合法的浮点数格式,否则程序会提示输入有误并退出。