笔试算法题ACM模式输入输出处理

本文介绍了如何在Python中将输入的字符串转换为整数(如`int(n)`),以及在JavaScript中使用`parseInt`函数处理单行或多行输入,使之适配数组操作和输出。

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

1. Python

input之后得到的全是string类型,数字需要用int(n)进行转换

  • 读取单个数
n = int(input())
  • 读取一串数组:
nums = [int(n) for n in input().split()]

(nums是个数组)

  • 读取字符串:
string=input().split(" ")
  • 读取字符串和数组混合:
string=input().split(" ")

string里的数其实也是字符串格式,用的时候要转成int

输出:print

2. JavaScript

  • 单行输入:
​​​​let line = readline()
let arr = line.split("")

split():把字符串分割成字符串数组,arr就是一个数组。

  • 多行输入:

lines是个数组。

输入进来的默认都是字符串形式,要用parseInt转成数字。

字符串转数字:

let nums = line.split(' ').map( x => parseInt(x))

let dp2 = dp1.map(x => parseInt(x))

输出:console.log()

### 大厂ACM模式输入输出规范 在大厂ACM竞赛或编程测试环境中,遵循严格的输入输出格式对于程序的正确性和评分至关重要。通常情况下,输入数据会通过标准输入流提供给程序处理,并且期望程序按照特定格式将结果打印到标准输出。 #### 输入规范 输入部分一般由多组测试案例组成,每组之间可能有分隔符区分。具体来说: - 测试案例数量N会在文件的第一行给出。 - 接下来的每一行代表一组独立的数据集,用于单独执行算法逻辑验证。 - 数据项间常用空格、逗号或其他指定符号作为间隔标志[^1]。 例如,在字符串操作题目中,可能会遇到如下形式的输入描述: ```text 2 hello world abc xyz ``` 这里表示存在两组待处理的文字串信息。 #### 输出规范 针对上述结构化的输入设计相应的输出方案时需注意以下几点原则: - 对于每一个实例都应生成对应的解答并依次排列显示; - 如果一个问题涉及多个子问题,则要确保各部分内容清晰可辨; - 结果呈现方式应当严格遵照题干要求,比如保留几位小数点后的精度等特殊指示; 下面展示了一个简单的例子,假设任务是要把接收到的小字母转变为大形式返回: ```python import sys def convert_to_uppercase(input_string): result = "" for char in input_string: if 'a' <= char <= 'z': converted_char = chr(ord(char) + ord('A') - ord('a')) result += converted_char else: result += char return result if __name__ == "__main__": lines = [] for line in sys.stdin: stripped_line = line.strip() if not stripped_line: break lines.append(stripped_line) test_cases_count = int(lines[0]) for i in range(1, test_cases_count + 1): output = convert_to_uppercase(lines[i]) print(output) ``` 此代码片段展示了如何读取来自`stdin`的标准输入,并逐一对每个测试用例应用大小的转换函数,最后按顺序出至`stdout`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值