洛谷【B2007-B2012】题解

【B2007】A + B 问题

原题传送门

思路

这题和B2001只有一些不同

只需要把数据类型改为int就行

代码

也可以用【B2001】的代码,具体看这

【B2008】计算 (a+b)×c 的值

原题传送门

思路

这题数据范围较小,可以用short储存a,b,c

表达式的值x最大约为1.99*10^8,超过short的取值范围,用int储存

输入a,b,c,然后带入表达式中,将值赋给x

代码

#include <stdio.h>
using namespace std;

short a, b, c;
int main () {
    scanf("%hd%hd%hd", &a, &b, &c);
    int x = (a + b) * c;
    printf("%d", x);
    return 0; //好习惯*1
}

【B2009】计算 (a+b)/c 的值

原题传送门

思路

这题思路如上题

a,b,c用int储存,用short会出现问题,表达式的值x可以用short,\div就是"/"

代码

#include <stdio.h>
using namespace std;

int a, b, c;
int main () {
    scanf("%d%d%d", &a, &b, &c);
    short x = (a + b) / c;
    printf("%hd", x);
    return 0; //好习惯*2
}

【B2010】带余除法

原题传送门

思路

求余数可以用c++自带的运算符%(mod,取余)

题目取值范围较小,可以用short

代码

#include <stdio.h>
using namespace std;

short a, b;
int main () {
    scanf("%hd%hd", &a, &b);
    printf("%hd %hd", a / b, a % b);
    return 0; //好习惯*3
}

【B2011】计算分数的浮点数值

原题传送门

思路

a,b可以用int储存,节省内存

在计算的时候强制转换为double类型,然后将值赋给double类型的x就行

也可以把a, b,x都设为double类型

代码

#include <stdio.h>
using namespace std;

int a, b;
double x;
int main () {
    scanf("%d%d", &a, &b);
    x = (double)a / (double)b;
    printf("%.9lf", x);
    return 0; //好习惯*4
}

【B2012】甲流疫情死亡率

原题传送门

思路

设死亡率为w%,确诊数为a,死亡数为b

我们有

                                w =\frac{a}{b}

输出%用printf("%%");

代码

#include <stdio.h>
using namespace std;
 
float a, b, x;
int main() {
    scanf("%f%f", &a, &b);
    x = b * 100.0 / a;
    printf("%.3lf%%", x);
    return 0; //好习惯*5
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值