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

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

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("一样快");

}


目录
相关文章
|
22天前
|
算法 C语言
在C语言中函数的递归调用及应用示例
在C语言中函数的递归调用及应用示例
18 1
|
22天前
|
存储 C语言
C语言数据的输出举例
C语言数据的输出举例
22 1
|
7月前
关于scanf函数返回值的概念和题目举例
关于scanf函数返回值的概念和题目举例
关于scanf函数返回值的概念和题目举例
|
9月前
|
算法 C语言
【C语言】——函数--递归及习题练习
【C语言】——函数--递归及习题练习
|
10月前
|
C语言 C++
C语言循环和判断的学习
从简单循环到复杂循环
100 3
C语言循环和判断的学习
|
12月前
|
C语言
C语言之运算符用法(补充前面运算符中的不足)
C语言之运算符用法(补充前面运算符中的不足)
|
12月前
|
C语言
C语言刷题系列——6.(递归)实现顺序输出整数
C语言刷题系列——6.(递归)实现顺序输出整数
199 0
|
存储 算法 C语言
C语言返回类型为指针的一些经典题目(下)
C语言返回类型为指针的一些经典题目(下)
108 0
C语言返回类型为指针的一些经典题目(下)
|
存储 算法 C语言
C语言返回类型为指针的一些经典题目(上)
C语言返回类型为指针的一些经典题目(上)
113 0
C语言返回类型为指针的一些经典题目(上)
|
存储 编译器 C语言
C语言之:数组的定义和初始化必备练习题
C语言之:数组的定义和初始化必备练习题
192 0
C语言之:数组的定义和初始化必备练习题