gpt4 book ai didi

c - 我需要创建一个循环来找到最年长的学生并打印他的 ID

转载 作者:行者123 更新时间:2023-11-30 20:27:28 25 4
gpt4 key购买 nike

好的,首先我会解释一下我的任务。对于这个作业,我必须使用动态内存分配,我对此没有任何问题。我遇到的问题是找出完成任务的正确方法。对于我的作业,我需要创建一个程序,提示用户输入他们有多少学生,然后询问以下信息;学生证、出生日期和电话号码。我需要使用循环来提示用户输入所有学生信息。我需要创建一个循环来扫描所有学生 ID,并使用出生日期找到年龄最大的学生(该循环必须能够扫描 3 个以上的学生)。

这是我的代码,我从你们那里得到了一些建议,甚至是一些代码。这是我的代码,创建一个循环来搜索所有学生并找到最早的学生的最佳方法是什么?

谢谢。

#include <stdio.h>
#include <stdlib.h>

struct studentDataType
{
int studentID;
int year;
int month;
int day;
long long phone;
};

int main (void)
{
struct studentDataType *studentRecords=NULL;
unsigned int students;
unsigned int studentID;
unsigned int year;
unsigned int month;
unsigned int day;
unsigned long phone;

printf("How many students are you entering records for:\n");
scanf("%d", &students);

studentRecords = malloc(sizeof(struct studentDataType) * students);
int i=0;
for (i; i != students ; ++i) {
printf("Enter information for student as follows (ID, DOB year, DOB month, DOB day, Phone): %d\n", i+1);
struct studentDataType * s = &studentRecords[i];
scanf("%u %u %u %u %u", &(s->studentID), &(s->year), &(s->month), &(s->day), &(s->phone));
}
}

最佳答案

首先用零初始化本地“日期”(即可能的最小日期)。然后循环遍历集合中的所有条目。当您发现一个结构的“日期”比本地日期早时,请将索引保存到该条目并将本地日期设置为条目日期。然后,当循环结束时,保存的索引是“最旧的”条目的索引。

像这样的伪代码:

oldest_date = 0;
oldest_index = -1;

loop_over_all_students
{
if current_student.date > oldest_date
{
oldest_date = current_student.date
oldest_index = current_index
}
}

if (oldest_index >= 0)
{
/* The variable `oldest_index` is the index to the "oldest" student */
}

关于c - 我需要创建一个循环来找到最年长的学生并打印他的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19731279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com