洛谷 B2129 最大数 max(x,y,z) B2130 简单算术表达式求值 题解

题目目录:

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怎么用,建议自己去查,反正我不说

(消失的结束语)

        

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值