L1-041 寻找250(10分)
作者:陈越
单位:浙江大学
PTA 团体程序设计天梯赛
简介
本题要求在一串整数中找出第一个"250"的位置,考察线性查找和计数器的基本应用。通过while循环读取输入,遇到250时输出位置并退出。适合初学者练习循环和条件判断。
题目描述
对方不想和你说话,并向你扔了一串数......而你必须从这一串数字中找到"250"这个高大上的感人数字。
输入格式
输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个"250"。
输出格式
在一行中输出第一次出现的"250"是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。
输入样例
888 666 123 -233 250 13 250 -222
输出样例
5
解题思路
本题是一道简单的线性查找问题:
- 按顺序读取所有整数
- 从 1 开始计数
- 遇到第一个 250 时输出当前位置并结束
由于输入保证至少存在一个 250,所以一定能找到答案。
参考代码
Java 实现
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int count = 0;
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
count++;
if (num == 250) {
System.out.println(count);
break;
}
}
scanner.close();
}
}
Python 实现
python
nums = input().split()
for i, n in enumerate(nums, 1):
if n == "250":
print(i)
break
C 语言实现
c
#include <stdio.h>
int main() {
int x, pos = 0;
while (scanf("%d", &x) != EOF) {
pos++;
if (x == 250) {
printf("%d\n", pos);
break;
}
}
return 0;
}
代码说明
- 使用
while循环持续读取整数,直到文件结束 pos/count记录当前位置,从 1 开始- 找到 250 后立即输出位置并退出循环
分类专栏
PTA 团体程序设计天梯赛