pta原题
时间: 2025-06-30 09:50:41 浏览: 7
PTA(Programming Teaching Assistant)是一个用于编程教学和练习的在线评测平台,提供了大量的算法题、数据结构题以及综合实践题目。以下是基于常见 PTA 题目分类整理的一些典型原题或相关题目列表:
### 数据结构类题目
#### 单链表操作
- **7-1 删除指定范围内的节点**
给定单链表的一个头指针 `head` 和两个整数 `low` 和 `high`,删除所有值位于 `[low, high]` 的节点并返回新的链表头结点[^3]。
#### 栈与队列应用
- **栈模拟括号匹配**
实现一个程序,输入一串字符,判断其中的小括号是否配对正确[^3]。
- **银行排队问题**
使用优先级队列实现客户按到达时间和处理时间排队等待的服务场景[^3]。
### 数学运算类题目
#### 完全平方数统计
- **完全平方数区间计数**
输入正整数 m (m>101),求解区间 `(101,m)` 中所有的完全平方数,并输出这些数值及其总个数[^1]。
```python
import math
def count_perfect_squares(m):
result = []
start = int(math.sqrt(101)) + 1
end = int(math.sqrt(m))
for i in range(start, end + 1):
result.append(i * i)
return result, len(result)
# 测试代码
m_value = 200
squares, total = count_perfect_squares(m_value)
print(f"Perfect squares between 101 and {m_value}: {squares}, Total: {total}")
```
#### 加密解密算法
- **凯撒密码逆向解码**
编写一段 C 或 Python 程序,给定加密后的字符串和平移量 `shift`,还原原始明文[^2]。
```c
#include <stdio.h>
#include <ctype.h>
char decrypt_char(char c, int shift) {
if (!isalpha(c)) return c;
char base = islower(c) ? 'a' : 'A';
return (c - base - shift + 26) % 26 + base;
}
void caesar_decrypt(const char* ciphertext, int shift) {
while (*ciphertext != '\0') {
putchar(decrypt_char(*ciphertext++, shift));
}
}
```
### 字符串处理类题目
- **单词反转**
将一句话中的每个单词顺序保持不变,但每个单词内部的字母顺序翻转[^3]。
---
###
阅读全文
相关推荐


















