计算器用c#编程
发布网友
发布时间:2022-04-19 14:44
我来回答
共4个回答
热心网友
时间:2023-06-26 15:58
1、#include<stdio.h>int main()
2、{ int a,b,c; scanf("%d%d%d",&a,&b,&c);
3、 int sum = a+b+c;
4、 printf("和: %d",sum);
5、printf("平均值:%f",sum/3.0);
6、return 0
讲解:
1、先定义四个整形。
2、一个浮点型保存平均值。
3、然后在控制台等待输入。
4、将输入的三个整数加起来赋值给sum。
5、将三个整形除以3.0(为什么是3.0,是因为ave是浮点型的,隐性转换到float)。
6、然后输出。
热心网友
时间:2023-06-26 15:59
#include <stdio.h>
int main() {
char operator;
double num1, num2, result;
printf("请输入操作符(+, -, *, /): ");
scanf("%c", &operator);
printf("请输入两个数字: ");
scanf("%lf %lf", &num1, &num2);
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 == 0) {
printf("错误:除数不能为0");
return 1;
} else {
result = num1 / num2;
}
break;
default:
printf("错误:无效的操作符");
return 1;
}
printf("%.2lf %c %.2lf = %.2lf", num1, operator, num2, result);
return 0;
}
热心网友
时间:2023-06-26 15:59
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define MAX_STACK_SIZE 100
typedef struct {
int top;
double data[MAX_STACK_SIZE];
} Stack;
void init(Stack *s) {
s->top = -1;
}
void push(Stack *s, double val) {
if (s->top < MAX_STACK_SIZE - 1) {
s->data[++(s->top)] = val;
} else {
printf("Stack overflow\n");
exit(1);
}
}
double pop(Stack *s) {
if (s->top >= 0) {
return s->data[(s->top)--];
} else {
printf("Stack underflow\n");
exit(1);
}
}
int is_operator(char c) {
return (c == '+' || c == '-' || c == '*' || c == '/');
}
double evaluate(char *expr) {
Stack s;
init(&s);
int len = strlen(expr);
char *p = expr;
while (*p != '\0') {
if (isdigit(*p)) {
double num = *p - '0';
p++;
while (isdigit(*p)) {
num = num * 10 + (*p - '0');
p++;
}
push(&s, num);
} else if (is_operator(*p)) {
double op1 = pop(&s);
double op2 = pop(&s);
double res;
switch (*p) {
case '+':
res = op2 + op1;
break;
case '-':
res = op2 - op1;
break;
case '*':
res = op2 * op1;
break;
case '/':
res = op2 / op1;
break;
}
push(&s, res);
p++;
} else {
p++;
}
}
return pop(&s);
}
int main() {
char expr[100];
printf("Enter an arithmetic expression: ");
fgets(expr, sizeof(expr), stdin);
double result = evaluate(expr);
printf("Result: %f\n", result);
return 0;
}
热心网友
时间:2023-06-26 16:00
使用 C 语言实现一个计算器可以通过以下步骤实现:
首先,使用 scanf() 函数读取用户输入的第一个数字。
使用 getchar() 函数读取用户输入的运算符。
使用 scanf() 函数读取用户输入的第二个数字。
使用 if-else 语句根据运算符进行相应的运算,如加法,减法,乘法和除法。
使用 printf() 函数输出结果。
以下是一个示例代码:#include <stdio.h>
int main() {
double num1, num2, result;
char operator;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator);
printf("Enter two operands: ");
scanf("%lf %lf", &num1, &num2);
switch(operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
// operator doesn't match any case constant
default:
printf("Error! operator is not correct");
return 0;
}
printf("%.1lf %c %.1lf = %.1lf", num1, operator, num2, result);
return 0;
}