codevs 2894 保留小数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codevs 2894 保留小数相关的知识,希望对你有一定的参考价值。
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver
题目描述 Description
给你一个实数,小数点后不超过50位,请你保留到小数点后n位(四舍五入!!!)
输入描述 Input Description
第一行,一个实数,小数点后不超过50位
第二行,保留到N位小数
输出描述 Output Description
一个实数,保留过的小数
样例输入 Sample Input
5.198273258723587235728
3
样例输出 Sample Output
5.198
数据范围及提示 Data Size & Hint
不太大,注意一下就行了,记得是四舍五入
传送门 点此展开
这道题特简单,发出来只是冒个泡,证明我还在继续走着这条路。。
说不定年后就被赶走了
#include <iostream> #include <cstring> #include <cstdio> using namespace std; char s[14451245]; int i,n; int main() { int c=0; gets(s); cin>>n; for(i=0;i<strlen(s);++i) { if(s[i]==\'.\') { c=i; break; } } if(s[c+n+1]>=\'5\'&&s[c+n+1]<=\'9\') s[c+n]++; int k=0; while(s[c+n-k]>\'9\') { s[c+n]=\'0\'; s[c+n-1]++; k++; } for(i=0;i<c+n+1;++i) cout<<s[i]; }
以上是关于codevs 2894 保留小数的主要内容,如果未能解决你的问题,请参考以下文章