用c语音写一个计算器具有不同的计算功能选择,包括标准计算、科学计算、最大数判。标准计算包括加减乘 除和求余数。科学计算包括平方、log、开方、绝对值。最大数判断功能要求使用循环依次输入数据并保存到一维数组,最大数判断功能为独立的子函数,主函数通过调用子函数求最大数。
时间: 2024-02-22 10:58:47 浏览: 159
最完整的计算机中的常用英语单词大全
好的,我可以为您提供一个简单的C语言计算器示例程序,包括标准计算、科学计算和最大数判断功能。请注意,这只是一个示例程序,可能并不完美,您可以根据您的需求进行修改。示例代码如下:
```c
#include <stdio.h>
#include <math.h>
// 定义函数
double max(double arr[], int n); // 最大数判断函数
int main()
{
int choice;
double a, b;
double result = 0;
double arr[100];
int n, i;
char op;
while (1)
{
printf("请选择计算类型:\n");
printf("1.标准计算\n2.科学计算\n3.最大数判断\n4.退出\n");
scanf("%d", &choice);
switch (choice)
{
case 1:
printf("请输入表达式(例如:1 + 2):\n");
scanf("%lf %c %lf", &a, &op, &b);
switch (op)
{
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b == 0)
{
printf("除数不能为0!\n");
break;
}
result = a / b;
break;
case '%':
if (b == 0)
{
printf("除数不能为0!\n");
break;
}
result = fmod(a, b);
break;
default:
printf("无效的操作符!\n");
break;
}
printf("计算结果为:%.2lf\n", result);
break;
case 2:
printf("请输入操作:\n");
printf("1.平方\n2.log\n3.开方\n4.绝对值\n");
scanf("%d", &choice);
printf("请输入数值:\n");
scanf("%lf", &a);
switch (choice)
{
case 1:
result = a * a;
break;
case 2:
result = log10(a);
break;
case 3:
if (a < 0)
{
printf("不能对负数求平方根!\n");
break;
}
result = sqrt(a);
break;
case 4:
result = fabs(a);
break;
default:
printf("无效的操作!\n");
break;
}
printf("计算结果为:%.2lf\n", result);
break;
case 3:
printf("请输入数字个数:\n");
scanf("%d", &n);
if (n > 100)
{
printf("数字个数不能超过100!\n");
break;
}
printf("请输入数字:\n");
for (i = 0; i < n; i++)
{
scanf("%lf", &arr[i]);
}
result = max(arr, n);
printf("最大数为:%.2lf\n", result);
break;
case 4:
printf("退出程序!\n");
return 0;
default:
printf("无效的选择!\n");
break;
}
}
return 0;
}
// 最大数判断函数实现
double max(double arr[], int n)
{
int i;
double max = arr[0];
for (i = 1; i < n; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
return max;
}
```
希望这个示例程序能够帮助您完成您的C语言计算器项目。如果您还有其他问题,请随时问我。
阅读全文