1. 运算符
1. 设计一个程序, 输入三位数 a, 分别输出个,十,百位.
(0<a<1000)
样例输入:
251
样例输出:
2
5
1
设计一个程序, 输入整数 l, 求边长为 l 的正方形面积, 比直径为 l 的圆形面积大多少.
(0<l<1000, PI 取 3.14, 输出结果保留两位小数)
样例输入:3 样例输出:1.93
解答
1.输出个,十,百位
#include<iostream>
using namespace std;
void separate(int num)
{
cout << num / 100 << endl;
//cout << (num - (num / 100*100))/10 << endl;
cout << num / 10 % 10 << endl;
cout << num % 10 << endl;
}
int main()
{
int num = 0;
cout << "Input:" ; cin >> num;
separate(num);
system("pause"); return 0;
}
复制代码
2.圆与正方形面积差
#include<iostream>
using namespace std;
#define PI 3.14
float AreaDifference(int num)
{
//cout << num*num - PI*(0.5)*num*(0.5)*num<< endl;
return num * num - PI * num * num / 4 ;
}
int main()
{
cout << "Input:"; double num = 0; cin >> num;
cout << AreaDifference(num) << endl;
system("pause"); return 0;
}
复制代码
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>
using namespace std;
void AreaDifference(int a,int b,int c)
{
a > b ? (a > c ? cout << a : cout << c) : (b > c ? cout << b : cout << c);
}
int main()
{
cout << "Input:";
int a = 0, b = 0, c = 0;
cin >> a; cin >> b; cin >> c;
AreaDifference(a,b,c);
system("pause"); return 0;
}
复制代码
//最大数
void Demo21() {
//--变量声明--
//输入值
int a, b, c;
//最大值
int max;
//--接收输入--
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>
using namespace std;
int Score(int a)
{
if (a >= 0 && a <= 10) {
return a * 6;
}
else if (a >= 11 && a <= 20) {
return a * 2;
}
else {
return a * 1;
}
}
int main()
{
cout << "Input:";
int a = 0; cin >> a;
if (a >= 0 && a <= 40) { cout << Score(a) << endl; }
else { cout << "输入错误" << endl; }
system("pause"); return 0;
}
复制代码
// 打分系统
void Demo22() {
//--变量声明--
// 输入
int n;
// 输出
int result;
//--接收输入--
scanf_s("%d", &n);
//--数据处理--
if (n <= 10) result = n * 6;
else if (n <= 20) result = 10 * 6 + (n - 10) * 2;
else result = 10 * 6 + 10 * 2 + (n - 20) * 1;
//--输出--
printf("%d", result);
}
复制代码
3.交通工具选择问题
#include<iostream>
using namespace std;
void Goout(int n)
{
if ((n / 1.2) == (n / 3 + 27 + 23)) { cout << "一样快"<<endl; }// 注意double判断会有精度问题 不能直接判断==0,当前解法存在问题!
else
{
(n / 1.2) < (n / 3 + 27 + 23) ? cout << "步行"<<endl : cout << "骑车"<<endl;
}
}
int main()
{
cout << "Input:";
int n = 0; cin >> n;
Goout(n);
system("pause"); return 0;
}
复制代码
// 上班
void Demo23() {
//--变量声明--
// 输入
int n;
// 负数表示骑车快, 正数表示走路快, 0表示一样快
double result;
//--接收输入--
scanf_s("%d", &n);
//--数据处理--
//用骑车速度减去走路速度 如果是正数表示骑车耗时多
result = (27 + 23 + n / 3.0) - (n / 1.2);
//--输出--
// 注意double判断会有精度问题 不能直接判断==0
if (result < 0.0001) printf("骑车");
else if (result > 0.0001) printf("走路");
else printf("一样快");
}
复制代码
评论