PTA(甲级)A1002-----简单模拟

题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000

题目大意:多项式相加

分析:hash表,用一个double型数组保存每个项的各自系数,数组下标代表幂次,对应相加。count计数,这里注意,计数时,不能在读入的过程中用,要考虑相互抵消的情况。

​​​​​​代码:

#include<iostream>
#include<cstdio>
using namespace std;
#include<algorithm>
#include<cmath>
#include<set> 
#include<map>
#include<string> 
#include<cstring>
#include<vector>
#include<cstdlib> 
#define ll long long int
const int maxn=1005;
int main()
{
	double num[maxn];
	memset(num,0,sizeof(num));
	int k;
	int b=0;
	for(int j=0;j<2;j++){
		cin>>k;
		int n;
		double a;
		for(int i=0;i<k;i++){
			cin>>n>>a;
			num[n]+=a;
		}
	}
	for(int i=0;i<maxn;i++)    //加好后才来记录count
		if(num[i]!=0)	b++;
	printf("%d",b);
	for(int i=maxn-1;i>=0;i--){
		if(num[i]!=0){
			printf(" %d %.1f",i,num[i]);
		}
	}
 } 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用面向对象的思想来构建“超市购物”程序。我们可以先定义两个类,一个是商品类,一个是购物者类。商品类中包含属性货物名、货号、价格和数量等信息,还包含获取货物名和价格的方法。购物者类中包含购物清和购买商品等方法。在购物者类中先定义购物清列表,再根据购买的商品名称查找商品的价格并计算出总价格。每次购买商品时,还需要统计相应商品的销售数量。 下面是一个示例代码: ```python class Commodity: def __init__(self, name, code, price, quantity): self.name = name self.code = code self.price = price self.quantity = quantity def get_name(self): return self.name def get_price(self): return self.price class Shopper: def __init__(self): self.shopping_list = [] # 初始化购物清 def add_item(self, commodity, quantity): # 添加购买的商品和对应数量 self.shopping_list.append((commodity, quantity)) def print_receipt(self): # 打印购物清和总价格 total_price = 0 for commodity, quantity in self.shopping_list: name = commodity.get_name() price = commodity.get_price() sub_total = price * quantity total_price += sub_total print(f"{name} x {quantity} = {sub_total}") print(f"Total price: {total_price}") # 统计销售数量 for commodity, quantity in self.shopping_list: commodity.quantity += quantity # 定义一些商品 commodity1 = Commodity("soap", "A1001", 10, 100) commodity2 = Commodity("pen", "A1002", 5, 200) # 创建购物者并购买商品 shopper = Shopper() shopper.add_item(commodity1, 2) shopper.add_item(commodity2, 3) # 打印购物清并统计销售数量 shopper.print_receipt() print(commodity1.quantity) print(commodity2.quantity) ``` 运行结果: ``` soap x 2 = 20 pen x 3 = 15 Total price: 35 102 203 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值