二、参照例1-2,用结构化方法编程实现:1、 根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)2、 P43编程题1,2,31.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标x 和纵坐标y ,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图1.11 正方形3.输入三个整数,求出其中最小数(要求使用条件表达式)。
根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
使得本校不同专业,不同课程的同学都能用它来计算。
(1学分=18学时) 提示:1、定义一个类,类的数据成员包括:每学年学费、专业总学分、课程学分;类的成员函数包括:设置每学年学费、专业总学分、课程学分;显示每学年学费、专业总学分、课程学分;计算上某课程的总花费;计算上某课程的每学时花费;计算上某课程的每分钟的花费;1.输入某学生成绩,若成绩在85分以上输出“very good ”,若成绩在60分到85分之间输出“good ”,若成绩低于60分输出“no good ”。
2.输入三个整数,按从小到大的顺序输出它们的值。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:⎪⎪⎪⎩⎪⎪⎪⎨⎧-----=59069607970898010090(不合格)(合格)(中等)(良好)(优秀)(级别)E D C B A grade 5.编程序模拟剪刀、石头和纸游戏。
游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。
玩游戏者从键盘上输入s (表示剪刀)或r (表示石头)或p (表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
6.输入一个整数,输出该整数的所有素数因子。
例如,输入120,输出为2、2、2、3和5。
7.使用迭代公式)2/;,2,1,0(2/)/(01a x n x a x x n n n ==+=+Λ编程序求某一正整数a 的平方根。
8.已知X=0ο,10ο,20ο,…,180ο,求sin x , cos x 和tan x 的值。
9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。
10.求100到999中的水仙花数。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=13+53+33,所以153为水仙花数。
11.求1000之内的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,因为6=1+2+3,所以6为完数。
12.编一程序显示由符号组成的三角形图案。
例如,程序运行后,屏幕显示: How many lines ?用户输入: 5屏幕显示: What character ?用户输入: *则输出如下图案。
** * ** * * * ** * * * * * ** * * * * * * * *13.已知XYZ+YZZ=532,其中X ,Y 和Z 为数字,编一程序求出X ,Y 和Z 的值。
1. 根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)代码:#include<iostream>using namespace std;void main(){double nxf,zhyxf,xsh,kchxf,xn;//每学年学费、专业总学分、每学分学时, 课程学分,学年float f1,f2,f3,f4;//该课程花费,每节课花费,每学分花费,每分钟花费cout<<"输入:每学年学费、专业总学分、每学分学时、课程学分、学年 "<<endl;cin>>nxf>>zhyxf>>xsh>>kchxf>>xn;f1=kchxf/zhyxf*nxf*xn;f2=f1/(kchxf*xsh);f3=nxf*xn/zhyxf; f4=f2/45;cout<<"该课程的总花费:"<<f1<<" 元"<<endl;cout<<"每节课的花费:"<<f2<<" 元"<<endl;cout<<"每学分的花费:"<<f3<<" 元"<<endl;cout<<"每分钟的花费:"<<f4<<" 元"<<endl;}结果:输入:每学年学费、专业总学分、每学分学时、课程学分、学年3600 180 18 1.5 4该课程的总花费:120 元每节课的花费:4.44444 元每学分的花费:80 元每分钟的花费:0.0987654 元Press any key to continue2输入一个三位整数,将它反向输出代码:#include<iostream>using namespace std;void main(){cout<<"请输入一个三位数"<<endl;int x;int x1,x2,x3;cin>>x;x1=x/100;x2=(x-x1*100)/10;x3=x-x1*100-x2*10;cout<<x3*100+x2*10+x1<<endl;}结果:请输入一个三位数758857Press any key to continue.3.源代码:#include<iostream>using namespace std;void main(){int a,b,c;cout<<"请输入三个整数"<<endl;cin>>a>>b>>c;if(a<b){if(a<c)cout<<a;elsecout<<c;}else{if(b<c)cout<<b;elsecout<<c;}}运行结果:请输入三个整数21 69 5421Press any key to continue源代码:#include<iostream>using namespace std;class huafei{private:double nxf,zhyxf,xsh,kchxf,xn;float f1,f2,f3,f4;public:void tishi();void churu();void kchhuafei();void jkhuafei();void xfhuafei();void fzhhuafei();};void huafei::tishi(){cout<<"输入:每学年学费、专业总学分、每学分学时、课程学分、学年 "<<endl; }void huafei::churu(){cin>>nxf>>zhyxf>>xsh>>kchxf>>xn;}void huafei::kchhuafei(){f1=kchxf/zhyxf*nxf*xn;cout<<"该课程的总花费:"<<f1<<" 元"<<endl;}void huafei::jkhuafei(){f2=f1/(kchxf*xsh);cout<<"每节课的花费:"<<f2<<" 元"<<endl;}void huafei::xfhuafei(){f3=nxf*xn/zhyxf;cout<<"每学分的花费:"<<f3<<" 元"<<endl;}void huafei::fzhhuafei(){f4=f2/45;cout<<"每分钟的花费:"<<f4<<" 元"<<endl;}double main(){huafei a;a.tishi();a.churu();a.kchhuafei();a.jkhuafei();a.xfhuafei();a.fzhhuafei();return 0;}运行结果:输入:每学年学费、专业总学分、每学分学时、课程学分、学年3600180181.54该课程的总花费:120 元每节课的花费:4.44444 元每学分的花费:80 元每分钟的花费:0.0987654 元Press any key to continue1.源代码:#include<iostream>using namespace std;void main(){int a;cout<<"请输入成绩"<<endl;cin>>a;if(a>85)cout<<"very good"<<endl;else if(a>=60 && a<85)cout<<"good"<<endl;elsecout<<"no good"<<endl;}运行结果:请输入成绩67goodPress any key to continue3.源代码:#include<iostream>using namespace std;void main(){double a,b,c;cout<<"请输入三边的长度"<<endl;cin>>a>>b>>c;if(a+b>c && a+c>b && b+c>a){if(a==b && b==c)cout<<"等边三角形"<<endl;else if((a==b && b!=c) || (b==c && c!=a) || (a==c && b!=c)) cout<<"等腰三角形"<<endl;elsecout<<"普通三角形"<<endl;}elsecout<<"不是三角形"<<endl;}运行结果:请输入三边的长度.4 4 4等边三角形Press any key to continue请输入三边的长度4 4 5等腰三角形Press any key to continue请输入三边的长度3 4 5普通三角形Press any key to continue请输入三边的长度1 3 6不是三角形Press any key to continue4.源代码:#include<iostream>using namespace std;void main(){cout<<"请输入百分制成绩"<<endl;int a;cin>>a;switch(a){case 'a<100 && a>=90' :cout<<"A"<<endl;break;case 'a<90 && a>=80' :cout<<"B"<<endl;break;case 'a<80 && a>=70' :cout<<"C"<<endl;break;case 'a<70 && a>=60' :cout<<"D"<<endl;.break;case 'a<60' :cout<<"E"<<endl;break;default:cout<<"错误"<<endl;break;}}运行结果:请输入百分制成绩89BPress any key to continue6.源代码:#include<iostream>using namespace std;void main(){int n,i=2,flag=0;cin>>n;cout<<endl<<n<<"=";while(n>1){if(n%i==0){if(flag)cout<<"*";cout<<i;n/=i;flag=1;}elsei++;}. }运行结果:6060=2*2*3*5Press any key to continue7.源代码:#include<iostream>#include<math.h>using namespace std;void main(){double a,m,n;cout<<"请输入数a"<<endl;cin>>a;n=a/2;m=(n+a/n)/2;while(fabs(n-m)>1e-6){n=m;m=(n+a/n)/2;}cout<<m<<endl;}运行结果:请输入数a62.44949Press any key to continue8.源代码:#include<iostream>#include<math.h>using namespace std;void main(){.cout<<"请输入角度"<<endl;double a;cin>>a;cout<<"sina="<<sin(a/180*3.14)<<endl;cout<<"cosa="<<cos(a/180*3.14)<<endl;cout<<"tana="<<tan(a/180*3.14)<<endl;}运行结果:请输入角度30sina=0.49977cosa=0.866158tana=0.576996Press any key to continue9.源代码:#include<iostream>using namespace std;void main(){int i;for(i=100;i<=200;i++)if((i%3==2) && (i%5==3) && (i%7==2))cout<<i<<endl;}运行结果:128Press any key to continue.10.源代码:#include<iostream>using namespace std;void main(){int i;int a,b,c;for(i=100;i<1000;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<<i<<endl;}}运行结果:153370371407Press any key to continue11.源代码:#include<iostream>#include<math.h>using namespace std;void main(){int i,j,m,s,k,a[100];for(i=1;i<=1000;i++){m=i;s=0;k=0;for(j=1;j<m;j++).if(m%j==0){s=s+j;a[k++]=j;}if(i==s){cout<<a[0]<<endl;for(j=1;j<k;j++){cout<<a[j]<<endl;}cout<<i<<endl;}}}运行结果:1236124714281248163162124248496Press any key to continue12.源代码:#include<iostream>using namespace std;void main(){int a,i,j;char c;cout<<"How many lines ?"<<endl;cin>>a;cout<<"What character ?"<<endl;cin>>c;for(i=1;i<=a;i++){for(j=0;j<=9-i;j++)cout<<" ";for(j=0;j<=2*i-2;j++)cout<<"*";cout<<endl;}}运行结果:How many lines ?5What character ?**************************Press any key to continue13.源代码:#include<iostream>using namespace std;void main(){int X,Y,Z;int a,b,c;for(X=0;X<=9;X++)for(Y=0;Y<=9;Y++)for(Z=0;Z<=9;Z++){a=X*100+Y*10+Z;b=Y*100+Z*10+Z;c=a+b;if(c==532){cout<<X<<endl;cout<<Y<<endl;cout<<Z<<endl;}}}运行结果:321Press any key to continue.如有侵权请联系告知删除,感谢你们的配合!。