- 【描述】
晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。
【输入】
输入贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。
【输出】
如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。注意YES和NO都大写!
【输入示例】2
【输出示例】YES
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { int n; cin >> n; switch (n) { case 2: case 4: case 6: case 7: cout << "YES" << endl; break; case 1: case 3: case 5: cout << "NO" << endl; break; default: cout << "非法输入\n"; } return 0; }
- 【描述】
输入a、b和c,若它们能构成三角形,则输出三角形周长,否则输出“Invalid”。
【输入】
输入a、b和c。
【输出】
输出三角形周长或“Invalid”。
【输入示例1】1 2 3
【输出示例1】Invalid
【输入示例2】3 3 3
【输出示例2】9
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { double a,b,c,C; cin >> a>>b>>c; if(a+b>c && a+c>b && b+c>a) cout<<a+b+c<<endl; else cout<<"Invalid"<<endl; return 0; }
- 【描述】
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
【输入】
输入n,x和y(均为整数),以整数间隔。
【输出】
输出完整的苹果数(整数)。
【输入示例】10 4 9
【输出示例】7
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { int n,x,y,p; cin>>n>>x>>y; p=ceil(y*1.0/x); if(p>=n) cout<<"0"<<endl; else cout<<n-p<<endl; //cout<<n-ceil(y*1.0/x)<<endl; return 0; }
- 【描述】
编写程序,将输入的任意3个整数从小到大输出,其间以"->"相连。
【输入】
一行中输入三个整数,其间以空格间隔。
【输出】
一行中将三个整数从小到大输出,其间以"->"相连。
【输入示例】4 2 8
【输出示例】2->4->8
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; void swap(int *x, int *y) { int temp; temp = *y; *y = *x; *x = temp; } int main() { int a, b, c; cin >> a >> b >> c; if (a > b) swap(a, b); if (b > c) swap(b, c); if (a > b) swap(a, b); cout << a << "->" << b << "->" << c << endl; return 0; }
-
【描述】
某电网执行“阶梯电价”,居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。结果保留2位小数。
【输入】
一行中输入用电量。
【输出】
一行中输出电费。
【输入示例】100
【输出示例】cost = 55.50
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { double n, cost; cin >> n; if (n <= 50) cost = n * 0.53; else cost = 50 * 0.53 + (n - 50) * (0.53 + 0.05); cout << "cost = " << fixed << setprecision(2) << cost << endl; return 0; }
- 【描述】
输入一个整数,输出分段函数的值。分段函数的数学定义如下:
【输入】
输入一个整数。
【输出】
输出分段函数的值。
【输入示例】100
【输出示例】10005
我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { int x, fx; cin >> x; if (x < 0) fx = x + 1; else if (x >= 0 && x < 100) fx = x * x * x; else if (x >= 100) fx = x * x + 5; cout << fx << endl; return 0; }
- 【描述】
某校学生成绩的绩点计算方法如下(百分制折合为绩点):
(A)90~100分,折合4.0~5.0绩点。
(B)80~89分,折合3.0~3.9绩点。
(C)70~79分,折合2.0~2.9绩点。
(D)60~69分,折合1.0~1.9绩点。
(E)59分及其以下为不及格。
【输入】
输入一个整数表示学生的成绩(0~100)。
【输出】
如果输入的学生成绩不合法,则输出“Invalid”。
如果输入的学生成绩为不及格,则输出“Failed”。
否则,输出成绩对应的绩点,结果保留一位小数。
【输入示例】74
【输出示例】2.4
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { int n; double grade; cin >> n; if (n >= 60 && n <= 100) { grade = (n - 50) / 10.0; cout << fixed << setprecision(1) << grade << endl; } else if (n > 0 && n < 60) cout << "Failed" << endl; else cout << "Invalid" << endl; return 0; }
- 【描述】
编写程序,输入三角形三条边a、b和c(假设为实数),判断它们能否构成三角形。若不能构成三角形,则输出“Don't make a triangle”;若能构成三角形,进一步判断是何种三角形(等边三角形、等腰三角形、直角三角形、等腰直角三角形还是一般三角形等),并输出相应的信息(Equilateral triangle、Isosceles triangle、Right triangle、Isosceles Right triangle、General triangle)。
【输入】
三角形三条边a、b和c,以空格间隔。
【输出】
若不能构成三角形,输出“Don't make a triangle”。否则输出相应的三角形类型信息。
【输入示例1】1 2 3
【输出示例1】Don't make a triangle
【输入示例2】4 2 5
【输出示例2】General triangle
【提示】
可以利用勾股定理逆定理判断直角三角形。
应该避免直接对浮点数进行相等(==)比较,因为浮点数的误差可能造成两个本来应该相等的浮点数不相等。
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { double a, b, c; const double EPSILON = 0.0000001; cin >> a >> b >> c; if (a + b > c && a + c > b && b + c > a) { if (fabs(a - b) <= EPSILON && fabs(a - c) <= EPSILON && fabs(b - c) <= EPSILON) { cout << "Equilateral triangle" << endl; } else if (fabs(a - b) <= EPSILON || fabs(a - c) <= EPSILON || fabs(b - c) <= EPSILON) { if (fabs(a - b) <= EPSILON || fabs(a - c) <= EPSILON || fabs(b - c) <= EPSILON) { cout << "lsosceles Right triangle" << endl; } else cout << "lsosceles triangle" << endl; } else if (fabs(a * a + b * b - c * c) <= EPSILON || fabs(a * a + c * c - b * b) <= EPSILON || fabs(c * c + b * b - a * a) <= EPSILON) { cout << "Right triangle" << endl; } else cout << "General triangle" << endl; } else cout << "Don't make a triangle" << endl; return 0; }
- 【描述】
求一元二次方程
的根,系数a、b、c为浮点数。
【输入】
输入a、b和c。
【输出】
若无穷解,则输出:Infinitely solution。
若无解,则输出:No solution。
若是一个实根,则输出格式为:x=…,数字、符号之间没有空格,结果保留2位小数。
若两个实根相等,则输出格式为:x1=x2=...,数字、符号之间没有空格,结果保留2位小数。
若是两个实根,则输出格式为:x1=...;x2=...,数字、符号之间没有空格,结果保留2位小数。
若是虚根,则输出:Imaginary root。
【输入示例】2.1 8.9 3.5
【输出示例】x1=-0.44;x2=-3.80
【提示】
可以使用数学库中的sqrt函数和fabs函数。方程的根以及其它中间变量用double类型变量表示。
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { double a, b, c, x1, x2, pd; cin >> a >> b >> c; pd = b * b - 4 * a * c; if (a == 0 && b == 0 && c == 0) cout << "Infinitely solution" << endl; if (a == 0 && b == 0 && c != 0) cout << "No solution" << endl; if (a == 0 && b != 0) cout << "x=" << fixed << setprecision(2) << -c * 1.0 / b << endl; if (a != 0 && pd == 0) cout << "x1=x2=" << fixed << setprecision(2) << -b * 1.0 / (2 * a) << endl; if (a != 0 && pd > 0) cout << "x1=" << fixed << setprecision(2) << (-b + sqrt(pd)) * 1.0 / (2 * a) << ";x2=" << fixed << setprecision(2) << (-b - sqrt(pd)) * 1.0 / (2 * a) << endl; if (a != 0 && pd < 0) cout << "Imaginary root" << endl; return 0; }
- 【描述】
输入学生的考试成绩(0~100),将学生的成绩划分等级并输出。学生的成绩可分为5个等级:90~100为A级,80~89为B级,70~79为C级,60~69为D级,0~59为E级。要求用switch语句。
【输入】
输入学生的考试成绩(0~100)。
【输出】
输出等级。
【输入示例】91
【输出示例】A
【提示】
假设学生的成绩为score,则score/10的一个值就代表了10种情况,例如score/10为7时,就代表成绩70~79的情况。
(10分)我的答案:
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { int score; cin >> score; switch(score/10){ case 10: case 9: cout<<"A"<<endl; break; case 8: cout<<"B"<<endl; break; case 7: cout<<"C"<<endl; break; case 6: cout<<"D"<<endl; break; case 5: case 4: case 3: case 2: case 1: case 0: cout<<"E"<<endl; break; default: cout<<"非法输入"<<endl; break; } return 0; }
《C++程序设计实验3》
最新推荐文章于 2024-04-29 11:56:38 发布