解二次方程
问题描述
编写程序求方程ax2+bx+c=0的根,a、b、c的值由键盘输入,假设b2-4ac>0
个人总结
1. 求根公式 x = -b ± sqrt(dta);
2. #incldue<cmath>库中的sqrt()函数用于求目标数的正根,abs()可用于求绝对值,最常用的两个,后续再补充
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double getdta(double a,double b,double c){
double result;
result = (b*b) - (4*a*c);
return result;
}
int main(){
double a,b,c;
double dta;
double x1,x2;
cin >> a >> b >> c;
dta = getdta(a,b,c);
x1 = (-1*b + sqrt(dta)) / double(2*a);
x2 = (-1*b - sqrt(dta)) / double(2*a);
cout << fixed << setprecision(2) << x1 << " " << x2;
return 0;
}
门票价格计算
问题描述
某旅游景点门票价格为每人5元。但团体可以优惠,分为以下情况:
人数超过20,则所有人优惠10%;
人数超过40,则所有人优惠15%;
人数超过80,则所有人优惠20%;
人数超过120,则所有人优惠30%。
请跟据团体的人数,求出该团体的总门票价格。
个人总结
1. 此类题型直接用if分支结构解决,不同的情况的范围需要仔细理清
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int i;
cin >> i;
double price;
if (i <= 0) {
price = 0.0;
}
else if (i > 120) {
price = i * 5.0 * 0.7;
}
else if (i > 80) {
price = i * 5.0 * 0.8;
}
else if (i > 40) {
price = i * 5.0 * 0.85;
}
else if (i > 20) {
price = i * 5.0 * 0.9;
}
else {
price = i * 5.0;
}
cout << fixed << setprecision(2) << price << endl;
return 0;
}
星期几问题
问题描述
根据一个范围在0至6的整数,用英文输出它对应的是星期几。(0对应Sunday,1对应Monday, 2对应Tuesday, 3对应Wednesday, 4对应Thursday, 5对应Friday, 6对应Saturday)
个人总结
1. switch case语句 或者 if else语句 均可以解题,但是本题更推荐用switch case语句,因为本题①条件单一,②而且是等值判断,更推荐用switch,如果①条件是一个范围,②涉及多变量组合判断、③条件是bool类型的变量,则用if else
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int num;
cin >> num;
switch(num){
case 0:
cout << "Sunday";
break;
case 1:
cout << "Monday";
break;
case 2:
cout << "Tuesday";
break;
case 3:
cout << "Wednesday";
break;
case 4:
cout << "Thursday";
break;
case 5:
cout << "Friday";
break;
case 6:
cout << "Saturday";
break;
}
return 0;
}
2020



被折叠的 条评论
为什么被折叠?



