栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PTA乙级 1101 B是A的多少倍 C++

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PTA乙级 1101 B是A的多少倍 C++

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 前言
  • 一、题目
    • 输入格式:
    • 输出格式:
    • 输入样例 1:
    • 输出样例 1:
    • 输入样例 2:
    • 输出样例 2:
  • 二、题解
  • 总结


前言

这是我的第一篇博客,主要发布的目的是督促下自己学习,然后把我自己的想法分享给大家,万一有对其他人有帮助呢,大家一起共勉。
(本人最近正在学习c++,主要用 c++来写, 来练习一下,还是菜鸡一个,可能写的不是特别好,欢迎大家来指正)


一、题目

设一个数 A 的最低 D 位形成的数是 ad​。如果把 ad​ 截下来移到 A 的最高位前面,就形成了一个新的数 B。B 是 A 的多少倍?例如将 12345 的最低 2 位 45 截下来放到 123 的前面,就得到 45123,它约是 12345 的 3.66 倍。

输入格式:

输入在一行中给出一个正整数 A(≤10的9次幂
)和要截取的位数 D。题目保证 D 不超过 A 的总位数。

输出格式:

计算 B 是 A 的多少倍,输出小数点后 2 位。

输入样例 1:

12345 2

输出样例 1:

3.66

输入样例 2:

12345 5

输出样例 2:

1.00

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

二、题解
#include
#include
#include
using namespace std;
int main() {
	int a, b=0, d; cin >> a >> d;
	float a1 = a,count=0;
	for (int i = 0; i < d; i++) {
		b += (a % 10) * pow(10, i);
		a = a / 10;
	}//把输入数字最低d位截取出来,放在前面
     //例12345 d=2 经过此操作后b变为45000
	float a2 = a;
	while (a) {
		a = a / 10;
		count++;
	}
   //把12345 中123截取出来
	b = (b * pow(10, count)) + a2;
	printf("%.2f", b / a1);
}
总结

#include
调用了其中的pow()函数,其功能是求x的y次幂,在这里是求10的i次幂。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850483.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号