华中科技大学c++第2次上机作业(2)

2019-04-21 12:43

} } else

case 7: case 6: case 5: case 4: case 3: case 2: case 1: case 0:

cout<<\break;

cout<<\break;

cout<<\break;

cout<<\break;

cout<<\请输入正确的分数\

default:

cout<<\请输入正确的分数\

}

② 解决本题的算法思路描述

Ifelse一共有五种结果,,故有四个分支;

Switch五种结果,六种情况(其中一情况为满分)即可 ③ 调试过程的记载(包括出现的错误,以及修改过程)

Ifelse语句未出现错误 Switch语句

① switch后面需要判断的变量未加括号 ② switch后面未加上花括号 ③switch(a/10)后面误加分号

3)编写程序,求一元二次方程ax2+bx+c=0的根。包括以下判断和结果,若输入a=0,b=0给出提示;a=0,b<>0 , 一元一次方程的根;△=b2?4ac,若△>0,输出两个不等的实根;若△=0,输出两个相等实根;若△<0,输出两个复数根。

return 0;

如:a=-2, b=2 ,c=-1 两虚根是 0.5+0.5i 0.5-0.5i 。

?提示:本题需要使用if-else结构的嵌套,关键是搞清楚嵌套关系。

计算机的没有虚根的概念,虚根的输出必须分别输出实部和虚部。

① 程序原代码。(直接粘贴在此)

#include #include using namespace std; double main() {

double a,b,c,x,x1,x2,x3,x4,D; cin>>a>>b>>c; D=b*b-4*a*c; if (a==0&&b==0) { }

else if (D==0) { }

else if (D>0) { }

else if (a>0) { } else {

x3=-b/(2*a); x3=-b/(2*a); x4=sqrt(-D)/(2*a);

cout<<\cout<<\x1=(-b+sqrt(D))/(2*a); x2=(-b-sqrt(D))/(2*a);

cout<<\x1=-b/(2*a);

cout<<\x=-c/b;

cout<<\cout<<\

else if (a==0)

}

}

x4=sqrt(-D)/(2*a);

cout<<\cout<<\

return 0;

② 解决本题的算法思路描述

运用ifelse语句完成

③调试过程的记载(包括出现的错误,以及修改过程)

①判断时用=改正为== ③ 2*a误写成2a

③不区分a的正负导致虚数结果中出现+-和--

4)编写程序实现税费的计算。输入一个奖金数,求应交税款及实得奖金数。奖金税 率如下(a 代表奖金,r 代表税率):

a<500r=0% 500≤a<1000r=3% 1000≤a<2000r=5% 2000≤a<5000 r=8% a≥5000r=12%

?提示:应交税费是各段计算的税费之和。

① 程序原代码。(直接粘贴在此)

#include using namespace std; int main() {

int a; double b; cin>>a; if (!(a<5000)) { }

else if (!(a<2000)&&a<5000) {

b=(a-5000)*0.12+3000*0.08+1000*0.05+500*0.03; cout<<\税费为\

}

} {

b=(a-2000)*0.08+1000*0.05+500*0.03;

cout<<\税费为\

else if (!(a<1000)&&a<2000)

b=(a-1000)*0.05+500*0.03; }

else if (!(a<500)&&a<1000) { } else

cout<<\税费为0\

return 0;

b=(a-500)*0.03;

cout<<\税费为\cout<<\税费为\

② 解决本题的算法思路描述

用Ifelse语句划分范围进行计算

③ 调试过程的记载(包括出现的错误,以及修改过程)

Return 0 后面忘加分号

5)计算几种图形的面积。圆面积的计算公式为S=PI*r*r;长方形面积的计算公式为S=a*b;正方形面积的计算公式为S=a*a。

?提示:程序中定义一个表示图形类型的数据,例如用PicType表示;用cout语句输出提示信息让用户选择要计算的图形类别;例如:1:圆; 2:长方形; 3:正方形;

然后提示输入需要的参数,计算出面积后输出面积大小。

① 程序原代码。(直接粘贴在此)

#include using namespace std; int main() { \

cout<<\圆\:长方形\:正方形\int a; cin>>a; switch (a) {

cout<<\请根据需要计算面积的图形的类型,输入1,2,3进行选择

}

case 1: case 2: case 3: } return 0;

cout<<\请输入正方形边长\double d,s2; cin>>d; s2=d*d;

cout<<\正方形面积为\break;

cout<<\请输入1-3的数字做出选择\cout<<\请输入长方形的长和宽\double b,c,s1; cin>>b>>c; s1=b*c;

cout<<\长方形的面积为\break; double r,s;

cout<<\请输入圆的半径\cin>>r; s=3.14*r*r;

cout<<\圆的面积为\break;

default:

② 解决本题的算法思路描述

运用switch语句 进行三个选择 然后分别计算

③ 调试过程的记载(包括出现的错误,以及修改过程)

在不同的case中定义了同一个变量导致程序错误 漏用分号

6)编写程序 求s=1!+2!+3!+ .........+ n!,n的值由用户输入。 ① 程序原代码。(直接粘贴在此)

#include using namespace std; int main()

{

int n,i; double s,a; a=1; s=0;

cin>>n; for(i=1;i<=n;i++) {

a=a*i;

s=s+a; } cout<<\ return 0; }

② 决本题的算法思路描述

运用for循环计算阶乘

然后运用for循环相加即得出结果

③ 试过程的记载(包括出现的错误,以及修改过程)

忘记规定a和s的初始值


华中科技大学c++第2次上机作业(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:1号住宅楼设计任务书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: