用c语言写代码:一、 基本要求 1.输入提示要友好。 二、功能要求: 1.从键盘输入一段表达式(字符串),其中含有整数、加、减、乘、除。 2.计算表达式的值。 3.事先约定表达式无括号、无浮点数、无负数、无错误。 三、文件名: 大作业05_学号_姓名.cpp 例: 1、1+20*3/8-5+16/2/1*5 【无空格】 结果:43.5 2、1 + 20 * 3 / 8 - 5 + 16 / 2 / 1 * 5 【有空格】 结果:43.5
时间: 2024-01-31 08:01:45 浏览: 72
c代码-12、/*用do...while语句计算1到n的累乘之积,即计算n!*/
抱歉,由于本AI只能进行自然语言处理,无法编写代码。以下是一个基于C语言的计算器代码,可以参考一下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
int main()
{
char input[MAX_SIZE];
int stack[MAX_SIZE];
int top = -1;
int num = 0;
char op = '+';
printf("请输入表达式:");
fgets(input, MAX_SIZE, stdin);
for (int i = 0; i < strlen(input); i++) {
if (input[i] >= '0' && input[i] <= '9') {
num = num * 10 + input[i] - '0';
}
if (input[i] == '+' || input[i] == '-' || input[i] == '*' || input[i] == '/' || i == strlen(input) - 1) {
if (op == '+') {
stack[++top] = num;
} else if (op == '-') {
stack[++top] = -num;
} else if (op == '*') {
stack[top] *= num;
} else if (op == '/') {
stack[top] /= num;
}
num = 0;
op = input[i];
}
}
int sum = 0;
for (int i = 0; i <= top; i++) {
sum += stack[i];
}
printf("结果:%d\n", sum);
return 0;
}
```
阅读全文