题目:
1、编写一个程序,要求用户以度、分、秒的方式输入一个纬度,然后以度为单位显示该纬度。1度为60分,1分为60秒,以常量的方式表示这两个值。对于每个输入值,分别使用独立的变量进行存储。
思路:需要三个变量分别记录度分秒,再将三个变量统一单位进行输出。
2、给出一个百分制的成绩,要求输出成绩等级'A','B','C','D','E'。90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'
思路:本题需要一个变量来接收成绩,并使用选择语句对成绩分级,输出正确结果。
3、企业发放的奖金来自利润提成。利润i低于或等于10万元的,可提成10%为奖
金;利润i高于10万元,低于或等于20万元(100000<i≤200000时,低于10万元的部分
按10%提成,高于10万元的部分可提成7.5%;200000<i≤400000时,低于20万的部分
仍按上述办法提成(下同),高于20万元的部分按5%提成;400000<i≤600000时,高于
40万元的部分按3%提成;600000<i≤1000000时,高于60万元的部分按1.5%提成;i>
1000000时,超过100万元的部分按1%提成。从键盘输入当月利润i,求应发奖金总数。
*要求:(1)用if语句编程序
(2)用switch语句编程序
思路:和上一题类似,需要先接收利润,并利用选择语句进行判断,完善每个选择分支并输出结果。
4、用户输入两个数,编写程序求出它的最大公约数与最小公倍数。
思路:使用辗转相除法,见参考代码。
5、编写一个程序,利用循环打印华氏温度与摄氏温度对照表。注意格式对齐方式。
思路:利用循环将的和适度和转换好的华氏度输出,中间使用\t分隔保证其整齐性。
参考代码:
1、
#include<iostream>
using namespace std;
int main(){
double du,fen,miao;//度分秒
double zong;//最终结果
cout<<"输入一个纬度的度,分,秒:"<<endl;
cout<<"首先,输入度:";
cin>>du;
cout<<"其次,输入分:";
cin>>fen;
cout<<"最后,输入秒:";
cin>>miao;
zong=du+fen/60+miao/3600;
cout<<du<<"度,"<<fen<<"分,"<<miao<<"秒="<<zong<<"度"<<endl;
return 0;
}
2、
#include<iostream>
using namespace std;
int main(){
int cj;//成绩
cout<<"请输入100以内的成绩:"<<endl;
cin>>cj;
char dj;//等级
switch(cj/10){
case 6:dj='d';break;
case 7:dj='C';break;
case 8:dj='B';break;
case 9:dj='A';break;
default:dj='E';
}
cout<<"您的成绩所对应的等级为"<<dj<<endl;
return 0;
}
3(if)、
#include<iostream>
using namespace std;
int main(){
int i;//利润
cout<<"请输入利润"<<endl;
cin>>i;
double jiangjin;//奖金
if(i<=100000)
jiangjin=100000*0.1;
else
if(i<=200000)
jiangjin=100000*0.1+0.075*(i-100000);
else
if(i<=400000)
jiangjin=100000*0.1+0.075*100000+0.05*(i-200000);
else
if(i<=600000)
jiangjin=100000*0.1+0.075*100000+0.05*200000+0.03*(i-400000);
else
if(i<=1000000)
jiangjin=100000*0.1+0.075*100000+0.05*200000+0.03*200000+0.015*(i-600000);
else
jiangjin=100000*0.1+0.075*100000+0.05*200000+0.03*200000+0.015*400000+0.01*(i-1000000);
cout<<"应发奖金为"<<jiangjin;
return 0;
}
3(switch)、
#include<iostream>
using namespace std;
int main(){
int i;//利润
cout<<"请输入利润"<<endl;
cin>>i;
double jiangjin;//奖金
switch(i/100001){
case 1:jiangjin=100000*0.1+0.075*(i-100000);break;
case 2:
case 3:jiangjin=100000*0.1+0.075*100000+0.05*(i-200000);break;
case 4:
case 5:jiangjin=100000*0.1+0.075*100000+0.05*200000+0.03*(i-400000);break;
case 6:
case 7:
case 8:
case 9:jiangjin=100000*0.1+0.075*100000+0.05*200000+0.03*200000+0.015*(i-600000);break;
case 10:jiangjin=100000*0.1+0.075*100000+0.05*200000+0.03*200000+0.015*400000+0.01*(i-1000000);break;
default:jiangjin=100000*0.1;
}
cout<<"应发奖金为"<<jiangjin;
return 0;
}
4、
#include<iostream>
using namespace std;
int main(){
int m,n;
int k; //最大公约数
int y;//最小公倍数
int b;
cout<<"请输入m,n的值"<<endl;
cin>>m>>n;
b=m*n;
while(m%n!=0){
k=m%n;
m=n;
n=k;
}
cout<<"最大公约数为"<<k<<endl;
y=b/k;
cout<<"最小公倍数为"<<y;
return 0;
}
5、
#include<iostream>
using namespace std;
int main() {
int a;//摄氏度
int b;//华氏度
for(a=0;a<=300;a+=20){
b=(a-32)/1.8;
cout<< a <<" "<<'\t'<< b <<endl;
}
return 0;
}