简答题
编写程序,实现以下功能:
首先,提示用户输入一个算式(例如:3.5+4.6);
然后,判断用户输入运算符是否为加、减、乘、除之一,否则输出错误信息;
接着,判断用户输入的运算符为除号且除数为0,是则输出错误信息;
最后,计算算式的结果,将其输出,结果保留3位小数。
该回答引用GPT:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b;
char op;
printf("请输入一个算式(例如:3.5+4.6):");
scanf("%lf%c%lf", &a, &op, &b);
switch (op)
{
case '+':
printf("%.3lf\n", a + b);
break;
case '-':
printf("%.3lf\n", a - b);
break;
case '*':
printf("%.3lf\n", a * b);
break;
case '/':
if (b == 0)
printf("除数不能为0!\n");
else
printf("%.3lf\n", a / b);
break;
default:
printf("输入的运算符不正确!\n");
break;
}
return 0;
}
如还有疑问,可留言帮助解决。
稍等,帮你写
#include <stdio.h>
int main()
{
float num1, num2, result;
char op;
printf("请输入一个算式(例如:3.5+4.6):");
scanf("%f%c%f", &num1, &op, &num2);
if(op == '+' || op == '-' || op == '*' || op == '/')
{
if(op == '/' && num2 == 0)
{
printf("错误:除数不能为0!\n");
}
else
{
switch(op)
{
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
}
printf("计算结果为:%.3f\n", result);
}
}
else
{
printf("错误:无效的运算符!\n");
}
return 0;
}
(1)学习内容:近两周,先学习了数组。这其中包括什么是数组,如何使用,定义数组,二位数组的元素的存放方式。之后通过数组延伸到排序问题,最为经典的是冒泡排序。还学习了矩阵相关的一些编译问题。变换各种题型进行了练习。
收获:除了对新学的知识有所收获以外,对编程有了更深的认识。感觉编程很神奇,不同的代码可以编译成不同的东西,千变万化,值得去探究。
(2)难点:我觉得选择排序以及冒泡排序比较难,过程很复杂,利用for的双层循环加大了理解难度。
不明白:对于冒泡排序理解的还是不透彻,有些循环的概念有一些模糊。
##互评和学习进度:
##点评作业:
(1)陈雨秋:
http://www.cnblogs.com/cyq66992152/p/7946077.html
(2)孙佳钰:
http://www.cnblogs.com/SR1011/p/7965948.html
(3)马宇欣:
http://www.cnblogs.com/mayuxin/p/7900356.html