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("一样快");}
复制代码
评论