PTA习题

这篇博客介绍了一道编程题,要求给定一个正整数n,按从大到小顺序输出其中不重复的数字。作者通过设计一个clear函数,利用C++的STL有效地解决了问题,强调了STL在解决此类问题中的便利性。

7-6 数字排序 (10 分)

给出一个十进制正整数 n,按从大到小的顺序输出其中包含的数字。重复出现的数字,仅输出一次。

输入格式:

输入在一行中给出一个正整数 n,且保证其大小不超出整型的表示范围。

输出格式:

在一行中按从大到小的顺序输出 n 中包含的数字。重复的数字,仅输出一次。

输入样例1:

100

输出样例1:

10

输入样例2:

271828

输出样例2:

8721

#include<iostream>
#include<algorithm>
int clear(int*, int);
int main(void)
{
	std::ios::sync_with_stdio(false);
	std::cin.tie(0);
	int n, cnt = 0, tmp = 0;
	std::cin >> n;
	tmp = n;
	while (tmp)
	{
		cnt++;
		tmp /= 10;
	}
	int* p = new int[cnt];
	for (int i = 0; i < cnt; i++)
	{
		p[i] = n % 10;
		n /= 10;
	}
	int t = clear(p, cnt);
	for (int i = 0; i < t - 1; i++)
		for (int j = 0; j < t - 1 - i; j++)
			if (p[j] < p[j + 1])
				std::swap(p[j], p[j + 1]);
	for (int i = 0; i 
### 关于浙江学翁恺PTA平台练习题 在浙江学翁恺老师的编程教学资源中,PTA(Programming Teaching Assistant)平台上提供了丰富的练习题目供学生实践和巩固所学知识。这些练习涵盖了多种编程语言,包括但不限于C语言和Java。 对于C语言的学习者来说,在PTA上可以找到一系列由翁恺设计的课后练习题[^1]。这类题目旨在帮助学习者掌握基础语法以及提高解决问题的能力。例如,“C语言-翁恺-PTA-41-80课后练习题-02”,该系列包含了不同难度级别的挑战项目,有助于逐步提升学生的编码技巧。 针对Java初学者,则有专门面向这门语言设置的任务集合[^2]。通过解决实际问题来加深理解,并熟练运用诸如`switch-case`这样的控制流结构。下面给出了一段简单的Java代码片段用于处理输入数值并根据不同条件输出相应结果: ```java import java.util.Scanner; public class Try2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); double x; @SuppressWarnings("unused") double f; int r; x = scan.nextDouble(); if (x < 0) { r = 1; } else if (x == 0) { r = 2; } else { r = 3; } switch (r) { case 1: System.out.println(f = -1); break; case 2: System.out.println(f = 0); break; case 3: System.out.println(f = 2 * x); break; } scan.close(); } } ``` 此外,还有关于单位转换的实际应用案例可供参考。比如将英制长度转成公制长度的问题,可以通过给定公式`(foot + inch / 12) * 0.3048`实现从英尺加英寸到米之间的换算操作[^3]。 为了更好地利用这些资源进行自我训练,建议访问中国学MOOC网站或直接登录PTA平台查找更多由翁恺教授编写的高质量习题集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值