2 程序的灵魂—算法-2.2 简单算法举例-【例 2.2】

【例 2.2】有 50 个学生,要求将他们之中成绩在 80 分以上者打印出来。
如果,n表示学生学号,ni表示第个学生学号;g表示学生成绩,gi表示第个学生成绩;
则算法可表示如下:
S1: 1→i
S2: 如果gi≥80,则打印ni和gi,否则不打印
S3: i+1→i
S4:若 i≤50, 返回 S2,否则,结束。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// #include "../../tools/tools/String/array_to_string.h"

#define NUM_STUDENTS 50

int main() {
    int student_ids[NUM_STUDENTS];
    int scores[NUM_STUDENTS];
    int i;

    int arr[] = {1, 2, 3, 4, 5};

    // 初始化随机数种子
    srand(time(NULL));

    // 填充学生学号,这里简单从1到50
    for (i = 0; i < NUM_STUDENTS; i++) {
        student_ids[i] = i + 1;
        
    }

    // int size = sizeof(student_ids) / sizeof(student_ids[0]);
    // char* str = array_to_string(student_ids, size);

    // 生成随机成绩(例如,介于0到100之间)
    for (i = 0; i < NUM_STUDENTS; i++) {
        scores[i] = rand() % 101; // %101 保证范围在0-100
    }

    // 打印80分以上的学生信息
    printf("成绩80分以上的学生信息:\n");
    for (i = 0; i < NUM_STUDENTS; i++) {
        if (scores[i] >= 80) {
            printf("学生学号: %d, 成绩: %d\n", student_ids[i], scores[i]);
        }
    }

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java我跟你拼了

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值