Day 4

这是一个编程题目,要求读取输入的学生总数和每个学生的分数,然后计算并输出有多少学生的分数等于给定的目标分数。提供了Java、C、C++、Python和PHP的解题代码示例。
摘要由CSDN通过智能技术生成

每日一题

在这里插入图片描述

题目:

题目描述:
针对输入,打印出获得给定分数的学生人数。
输入输出样例
输入样例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:

  1. 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:

  1. map() 函数被用于将列表中的每个字符串都转换成整数。map() 函数的第一个参数是一个函数,用于对列表中的每个元素进行处理。这里传入了内置函数 int(),它可以将一个字符串转换成整数。map() 函数的第二个参数是一个可迭代对象,这里是刚刚得到的列表 [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]。map() 函数返回的是一个迭代器,它会依次返回列表中的每个元素经过处理后的结果。为了得到一个列表,通常需要将其传给 list() 函数,这样就可以得到一个包含 5 个整数的列表 [1, 2, 3, 4, 5]。

  2. 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() 函数的参数本身就是一个列表,那么该函数将返回一个新的列表,其中包含与原列表相同的元素。这个新的列表与原列表不是同一个对象,它们的内存地址不同。

  1. 生成器是一种特殊的迭代器,它使用 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:

打卡成功!
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值