PATB1037.在霍格沃兹找零钱(20)

本文介绍了一个简单的货币单位转换程序,该程序使用C++编写,能够处理复杂的货币单位换算问题,如从高单位到低单位的转换,并支持反向转换。通过输入两个不同货币单位的数值,程序能够准确计算并输出它们之间的差额。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:点击打开链接

知识点笔记:

    1.可以将数据封装起来,定义 const int Galleon = 17*29; 


AC代码:

#include <iostream>
using namespace std;

int main() {

	int a1,a2,a3;
	int b1,b2,b3;
	scanf("%d.%d.%d %d.%d.%d",&a1,&a2,&a3,&b1,&b2,&b3);

	int sum1=a1*17*29+a2*29+a3;
	int sum2=b1*17*29+b2*29+b3;
	bool flag = true;
	int sum3;
	if(sum1>sum2)
		sum3=sum1-sum2;
	else {
		sum3=sum2-sum1;
		flag = false;
	}
	int c1,c2,c3;

	c1=sum3/(17*29);
	c2=sum3%(17*29)/29;
	c3=sum3%29;
	if(flag)
	printf("-%d.%d.%d",c1,c2,c3);
	else printf("%d.%d.%d",c1,c2,c3);
	return 0;
}

### 霍格沃兹服务端接口功能性测试 对于霍格沃兹魔法学校的服务器API执行接口测试,可以采用多种工具和技术来确保其功能性和稳定性。以下是具体的操作指南: #### 使用 Python 和 Requests 库进行 API 测试 为了简化HTTP请求并处理响应数据,Python 的 `requests` 库是一个非常流行的选择。通过此库可以直接发送GET/POST等类型的HTTP请求,并轻松解析返回的数据。 ```python import requests header = {"User-Agent": "hogwarts"} url = "https://api.hogwarts.ceshiren.com/v1/magic/spell" def test_get_spell(): response = requests.get(url, headers=header) json_response = response.json() assert response.status_code == 200 assert 'data' in json_response print(test_get_spell()) ``` 这段代码展示了如何向指定URL发起GET请求以及验证状态码是否为成功(200),同时确认JSON响应体中存在预期键值[^5]。 #### 利用自动化框架提升效率 除了手动编写脚本来调用API外,还可以借助成熟的开源项目如Pytest配合Requests来做更复杂的场景模拟与断言逻辑实现。这不仅提高了工作效率还增强了可读性维护性。 安装 Pytest 可以通过 pip 命令完成: ```bash pip install pytest ``` 创建一个简单的pytest文件用于定义多个独立的测试函数: ```python # content of test_api.py import requests class TestHogwartsApi(object): @classmethod def setup_class(cls): cls.base_url = "https://api.hogwarts.ceshiren.com" cls.headers = {'Content-Type': 'application/json'} def test_create_wand(self): endpoint = "/v1/inventory/wands" payload = { "woodType": "holly", "coreMaterial": "phoenix feather", "lengthInches": 11, "ownerName": "Harry Potter" } resp = requests.post(f"{self.base_url}{endpoint}", json=payload, headers=self.headers) try: data = resp.json()['wand'] # 断言检查新创建魔杖的信息是否正确无误 assert all([data['wood_type'] == payload["woodType"], data['core_material'] == payload["coreMaterial"]]) except KeyError as e: raise AssertionError(f"Response JSON structure error: {e}") ``` 上述例子说明了怎样利用面向对象编程的思想构建一组相互关联但又各自独立运行良好的单元测试案例集合。 #### 整合持续集成平台促进协作交流 当团队规模逐渐扩大时,引入CI/CD流水线变得尤为重要。Jenkins、GitLab CI 或者 GitHub Actions 等都可以作为候选方案之一。它们能够自动触发每次提交后的编译打包部署流程,从而及时发现潜在问题所在位置;另外一方面也可以定期安排回归测试计划表单,保证产品质量始终处于可控范围内[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猪突猛进!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值