文章

21

粉丝

0

获赞

4

访问

498

头像
分数化小数 题解:
P5365 四川大学2024年机试题
发布于2026年3月27日 16:21
阅读数 10

#include<iostream>
#include<vector>
using namespace std;

int main(){
	int n;
	cin >> n;
	int a, b, c;
	int integer = 0, rem = 0;
	vector<int> num;
	while(n--){
		cin >> a >> b >> c;
		num.clear();
		num.resize(c, 0);
		// 整数部分
		integer = a / b; 
		cout << integer << '.';
		
		rem = a % b; // 余数
		
		for(int i = 0; i < c; i++){
			rem *= 10;
			int x = rem / b;
			rem %= b;
			num[i] = x;
			
			// 四舍五入
			if(i == c - 1 && rem * 10 / b >= 5){
				for(int j = c - 1; j > 0; j--){
					if(num[j] + 1 == 10)
						num[j] = 0;
					else{
						num[j] += 1;
						break;
					}
				}
			}
			
		}
		for(int i = 0; i < c; i++)
			cout << num[i];
		cout << endl;
	}
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发