题目目录:
No.1 B2129 最大数 max(x,y,z)
No.2 B2130 简单算术表达式求值
OK,开始正文!
第一题:B2129 最大数 max(x,y,z)
已知:
输入三个整数 a,b,c,求 m。
把求三个数的最大数 max(x,y,z)分别定义成函数和过程来做。
输入格式
输入只有一个行三个整数,分别为a,b,c。
输出格式
输出一行一个小数,为答案,保留三位小数。
输入输出样例
输入 #1
1 2 3
输出 #1
0.200
说明/提示
数据规模与约定
对于全部的测试点,保证 ∣a∣,∣b∣,∣c∣≤50。换句话说,a,b,c都在 −50 到 50 之间。
测试数据保证,分式的分母不为 0。
思路:
其他正常算,三个数的最大值那里定义一个函数,具体思路:
1.写好头文件之类的
2.定义一个函数(求三个数的最大值)怎么求不用我说吧?max(a,max(b,c))
3.定义变量
4.输入变量
5.计算分子和分母
6.输出m的值,注意保留三位小数
如果你还是看不懂,我建议你回去把C++重学一遍!
AC代码:(AC=Answer Coarse=粗劣的答案):
#include<bits/stdc++.h>//万能库
using namespace std;//..............
int maxx(int a,int b,int c)//函数,求三个数的最大值
{
return max(a,max(b,c));//谁不懂的?
}
int main()//主函数
{
int a,b,c;//定义变量
cin >> a >> b >> c;//输入
int fz=maxx(a,b,c);//分子
int fm=maxx(a+b,b,c)*maxx(a,b,b+c);//分母
printf("%.3lf",fz*1.0/fm);//计算m的值,注意保留3位小数
return 0;//“愉快”的结束
}
第二题:B2130 简单算术表达式求值
题目描述
两位正整数的简单算术运算(只考虑整数运算),算术运算为:
+
,加法运算;
-
,减法运算;
*
,乘法运算;
/
,整除运算;
%
,取余运算。
算术表达式的格式为(运算符前后可能有空格):
运算数 运算符 运算数。
请输出相应的结果。
输入格式
一行算术表达式。
输出格式
整型算数运算的结果(结果值不一定为 2 位数,可能多于 2 位或少于 2 位)。
输入输出样例
输入 #1
32+64
输出 #1
96
思路:
思路1:
输入两个运算数和一个运算符,然后if判断
适用范围:学过C++的......
思路2:
输入,然后switch
适用范围:会用switch的......
AC代码:
AC代码1(if):
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
char c;
cin >> a >> c >> b;
if(c=='+')
{
cout<<a+b;
}
else if(c=='-')
{
cout<<a-b;
}
else if(c=='*')
{
cout<<a*b;
}
else if(c=='/')
{
cout<<a/b;
}
else if(c=='%')
{
cout<<a%b;
}
return 0;
}
AC代码2(switch):
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
char c;
cin >> a >> c >> b;
switch(c)
{
case '+':
cout<<a+b;
break;
case '-':
cout<<a-b;
break;
case '*':
cout<<a*b;
break;
case'/':
cout<<a/b;
break;
default:
cout<<a%b;
}
return 0;
}
如果想了解switch怎么用,建议自己去查,反正我不说
(消失的结束语)