写点什么

C/CPP 基础练习题(一)运算符,判断

作者:CtrlX
  • 2022 年 8 月 26 日
    山东
  • 本文字数:2012 字

    阅读完需:约 7 分钟

C/CPP基础练习题(一)运算符,判断

1. 运算符

1. 设计一个程序, 输入三位数 a, 分别输出个,十,百位.

(0<a<1000)

样例输入:

251

样例输出:

2

5

1


  1. 设计一个程序, 输入整数 l, 求边长为 l 的正方形面积, 比直径为 l 的圆形面积大多少.

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


用户头像

CtrlX

关注

Pain is inevitable,suffering is optional 2022.08.01 加入

【个人网站】ctrlx.life 【联系方式】微信:gitctrlx 【软件技能】前端,C++,Python,研究网络工程,数据结构与算法。

评论

发布
暂无评论
C/CPP基础练习题(一)运算符,判断_c_CtrlX_InfoQ写作社区