C语言实现:输入含n的四则运算表达式及n的值,计算结果
C语言实现:输入含n的四则运算表达式及n的值,计算结果
本文提供一个C语言程序,可以实现以下功能:
- 读取用户输入的包含未知数 'n' 的四则运算表达式。2. 读取用户输入的 'n' 的值。3. 将 'n' 的值代入表达式,计算最终结果并输出。
**代码示例:**c#include <stdio.h>#include <stdlib.h>#include <string.h>
#define MAX_EXPR_LEN 100
int evaluate(char* expr, int n) { int len = strlen(expr); char* new_expr = malloc((len + 1) * sizeof(char)); int j = 0; for (int i = 0; i < len; i++) { if (expr[i] == 'n') { sprintf(new_expr + j, '%d', n); j += strlen(new_expr + j); } else { new_expr[j++] = expr[i]; } } new_expr[j] = '�'; int result = 0; if (sscanf(new_expr, '%d', &result) == 1) { return result; } else { printf('Invalid expression: %s ', new_expr); return 0; }}
int main() { char expr[MAX_EXPR_LEN]; int n; printf('请输入包含n的表达式: '); fgets(expr, MAX_EXPR_LEN, stdin); printf('请输入n的值: '); scanf('%d', &n); int result = evaluate(expr, n); printf('结果: %d ', result); return 0;}
代码说明:
evaluate函数: - 接收表达式字符串和 'n' 的值作为参数。 - 创建一个新的字符串,用于存储替换 'n' 后的表达式。 - 遍历原始表达式,将 'n' 替换为实际的值,并将其他字符直接复制到新字符串中。 - 使用sscanf函数将新字符串转换为整数,计算表达式的值。 - 如果表达式不合法,则输出错误信息。2.main函数: - 从用户处获取表达式字符串和 'n' 的值。 - 调用evaluate函数计算结果。 - 打印结果。
示例:
请输入包含n的表达式: 2 * n + 5请输入n的值: 3结果: 11
总结:
这个程序展示了如何在C语言中进行简单的字符串处理和表达式求值。你可以根据需要修改代码,例如支持更复杂的表达式或处理不同的数据类型。
原文地址: https://www.cveoy.top/t/topic/fYsL 著作权归作者所有。请勿转载和采集!