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

作者 : admin 本文共755个字,预计阅读时间需要2分钟 发布时间: 2024-06-8 共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 
#include 
#include 
// #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分以上的学生信息:
");
    for (i = 0; i < NUM_STUDENTS; i++) {
        if (scores[i] >= 80) {
            printf("学生学号: %d, 成绩: %d
", student_ids[i], scores[i]);
        }
    }

    return 0;
}
本站无任何商业行为
个人在线分享 » 2 程序的灵魂—算法-2.2 简单算法举例-【例 2.2】
E-->