每日一题
题目:
题目描述:
针对输入,打印出获得给定分数的学生人数。
输入输出样例
输入样例1
3
80 60 90
60
输出样例1
1
输入样例2
5
60 75 90 55 75
75
输出样例2
2
Java写法:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 学生总数
int[] scores = new int[n]; // 保存每个学生的分数
for (int i = 0; i < n; i++) {
scores[i] = scanner.nextInt();
}
int targetScore = scanner.nextInt(); // 目标分数
int count = 0; // 记录获得目标分数的学生人数
for (int i = 0; i < n; i++) {
if (scores[i] == targetScore) {
count++;
}
}
System.out.println(count);
}
}
Tips:
C写法:
#include <stdio.h>
int main() {
int n; // 学生总数
scanf("%d", &n);
int scores[n]; // 保存每个学生的分数
for (int i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
int targetScore; // 目标分数
scanf("%d", &targetScore);
int count = 0; // 记录获得目标分数的学生人数
for (int i = 0; i < n; i++) {
if (scores[i] == targetScore) {
count++;
}
}
printf("%d\n", count);
return 0;
}
Tips:
- scores 是一个整型数组,scores[i] 表示数组中的第 i 个元素,其类型是整型。因此,为了从标准输入中读取并修改 scores[i] 的值,需要使用 & 取得该元素的地址。
C++写法:
#include <iostream>
using namespace std;
int main() {
int n; // 学生总数
cin >> n;
int scores[n]; // 保存每个学生的分数
for (int i = 0; i < n; i++) {
cin >> scores[i];
}
int targetScore; // 目标分数
cin >> targetScore;
int count = 0; // 记录获得目标分数的学生人数
for (int i = 0; i < n; i++) {
if (scores[i] == targetScore) {
count++;
}
}
cout << count << endl;
return 0;
}
Tips:
Python写法:
n = int(input()) # 学生人数
scores = list(map(int, input().split())) # 学生成绩列表
target_score = int(input()) # 目标分数
count = 0 # 统计目标分数的学生人数
for score in scores:
if score == target_score:
count += 1
print(count)
Tips:
-
map() 函数被用于将列表中的每个字符串都转换成整数。map() 函数的第一个参数是一个函数,用于对列表中的每个元素进行处理。这里传入了内置函数 int(),它可以将一个字符串转换成整数。map() 函数的第二个参数是一个可迭代对象,这里是刚刚得到的列表 [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]。map() 函数返回的是一个迭代器,它会依次返回列表中的每个元素经过处理后的结果。为了得到一个列表,通常需要将其传给 list() 函数,这样就可以得到一个包含 5 个整数的列表 [1, 2, 3, 4, 5]。
-
list() 是 Python 内置的一个函数,用于将一个可迭代对象转换成一个列表。可迭代对象可以是字符串、元组、列表、字典、集合、生成器等等。
list() 的基本语法是:
python
Copy code
list(iterable)
其中,iterable 是一个可迭代对象。例如,我们有一个字符串 ‘hello’,想要将其中每个字符都放到一个列表中,可以使用 list() 函数:
s = 'hello'
lst = list(s)
print(lst) # 输出 ['h', 'e', 'l', 'l', 'o']
上面的代码将字符串 s 转换成一个列表 lst,其中每个元素都是字符串中的一个字符。
另外需要注意的是,如果 list() 函数的参数本身就是一个列表,那么该函数将返回一个新的列表,其中包含与原列表相同的元素。这个新的列表与原列表不是同一个对象,它们的内存地址不同。
- 生成器是一种特殊的迭代器,它使用 yield 语句产生值,而不是使用 return 语句。生成器可以使用函数或生成器表达式创建。以下是生成器的一些常见操作:
# 使用函数创建生成器
def my_generator(n):
for i in range(n):
yield i
g = my_generator(5)
for i in g:
print(i) # 输出 0 1 2 3 4
# 使用生成器表达式创建生成器
g = (i for i in range(5))
for i in g:
print(i) # 输出 0 1 2 3 4
PHP写法:
<?php
$n = intval(fgets(STDIN)); // 学生总数
$scores = array_map('intval', explode(' ', trim(fgets(STDIN)))); // 保存每个学生的分数
$targetScore = intval(fgets(STDIN)); // 目标分数
$count = 0; // 记录获得目标分数的学生人数
for ($i = 0; $i < $n; $i++) {
if ($scores[$i] == $targetScore) {
$count++;
}
}
echo $count . "\n";
?>
Tips:
打卡成功!