1. 运算符
1. 设计一个程序, 输入三位数a, 分别输出个,十,百位.
(0<a<1000)
样例输入:
251
样例输出:
2
5
1
2. 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.
(0<l<1000, PI取3.14, 输出结果保留两位小数)
样例输入:
3
样例输出:
1.93
解答
1.输出个,十,百位
#include<iostream>
usingnamespacestd;
voidseparate(intnum)
{
cout<<num/100<<endl;
//cout << (num - (num / 100*100))/10 << endl;
cout<<num/10%10<<endl;
cout<<num%10<<endl;
}
intmain()
{
intnum=0;
cout<<"Input:" ; cin>>num;
separate(num);
system("pause"); return0;
}
2.圆与正方形面积差
#include<iostream>
usingnamespacestd;
#define PI 3.14
floatAreaDifference(intnum)
{
//cout << num*num - PI*(0.5)*num*(0.5)*num<< endl;
returnnum*num-PI*num*num/4 ;
}
intmain()
{
cout<<"Input:"; doublenum=0; cin>>num;
cout<<AreaDifference(num) <<endl;
system("pause"); return0;
}
2. 判断
1. 设计一个程序, 输入a,b,c三个整数, 输出最大的数.
(MIN_INT < a,b,c < MAX_INT)
样例输入:
1 3 2
样例输出:
3
2. 打分系统
在某次考试时, 学生的提交成绩惨不忍睹
云海学长为了让大家及格可谓煞费苦心, 他苦思三天三夜, 终于想出了一套打分方案:
正确数量在0~10时, 每题6分
正确数量在11~20时, 第11~20题, 每题2分
正确数量在21~40时, 第21~40题, 每题1分
但因为需要计分的作业太多了, 希望你能帮帮云海学长, 实现该计分程序.
输入做对的题目数量n, 输出得分.
(0<=n<=40)
样例输入:
23
样例输出:
83
3. 东东哥上班
东东哥在上班途中, 可以选择走路和骑车两种方式
但他不清楚哪种方式比较快, 因为骑车需要找车, 开锁, 停车 需要耽搁很多时间.
设找到自行车, 开锁, 骑上自行车需要花27秒, 停车需要花23秒
步行每秒1.2米, 骑车每秒3.0米
给出东东哥距离公司的距离, 请问是骑车快还是走路快.
输入一个整数n, 表示到公司的距离
如果骑车快, 输出"骑车"
如果走路快, 输出"走路"
如果一样快, 输出"一样快"
样例输入:
60
样例输出:
走路
解答
1.求最大值
#include<iostream>
usingnamespacestd;
voidAreaDifference(inta,intb,intc)
{
a>b? (a>c?cout<<a : cout<<c) : (b>c?cout<<b : cout<<c);
}
intmain()
{
cout<<"Input:";
inta=0, b=0, c=0;
cin>>a; cin>>b; cin>>c;
AreaDifference(a,b,c);
system("pause"); return0;
}
//最大数
voidDemo21() {
//--变量声明--
//输入值
inta, b, c;
//最大值
intmax;
//--接收输入--
scanf_s("%d %d %d", &a, &b, &c);
//--数据处理--
max=a;
if (b>max) {
max=b;
}
if (c>max) {
max=c;
}
//--输出--
printf("%d", max);
}
2.打分系统
#include<iostream>
usingnamespacestd;
intScore(inta)
{
if (a>=0&&a<=10) {
returna*6;
}
elseif (a>=11&&a<=20) {
returna*2;
}
else {
returna*1;
}
}
intmain()
{
cout<<"Input:";
inta=0; cin>>a;
if (a>=0&&a<=40) { cout<<Score(a) <<endl; }
else { cout<<"输入错误"<<endl; }
system("pause"); return0;
}
// 打分系统
voidDemo22() {
//--变量声明--
// 输入
intn;
// 输出
intresult;
//--接收输入--
scanf_s("%d", &n);
//--数据处理--
if (n<=10) result=n*6;
elseif (n<=20) result=10*6+ (n-10) *2;
elseresult=10*6+10*2+ (n-20) *1;
//--输出--
printf("%d", result);
}
3.交通工具选择问题
#include<iostream>
usingnamespacestd;
voidGoout(intn)
{
if ((n/1.2) == (n/3+27+23)) { cout<<"一样快"<<endl; }// 注意double判断会有精度问题 不能直接判断==0,当前解法存在问题!
else
{
(n/1.2) < (n/3+27+23) ?cout<<"步行"<<endl : cout<<"骑车"<<endl;
}
}
intmain()
{
cout<<"Input:";
intn=0; cin>>n;
Goout(n);
system("pause"); return0;
}
// 上班
voidDemo23() {
//--变量声明--
// 输入
intn;
// 负数表示骑车快, 正数表示走路快, 0表示一样快
doubleresult;
//--接收输入--
scanf_s("%d", &n);
//--数据处理--
//用骑车速度减去走路速度 如果是正数表示骑车耗时多
result= (27+23+n/3.0) - (n/1.2);
//--输出--
// 注意double判断会有精度问题 不能直接判断==0
if (result<0.0001) printf("骑车");
elseif (result>0.0001) printf("走路");
elseprintf("一样快");
}