gpt4 book ai didi

c - 我将如何使用函数打印最高得分手(以及其他 "struc mates")。 C

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:21 25 4
gpt4 key购买 nike

这里是 C 的初学者,请耐心等待我的问题,因为我很难解释它。如果我的条款不正确,我真的很抱歉。我希望你能明白。

假设我有这样的结构:

struct studentType
{
char studentFName[20];
char studentLName[20];
int score;
char grade;
}s[20];

并且我在 s 中输入了 3 个元素。现在我已经比较了彼此的分数,通过这个:

void getHighestScorer(struct studentType s[20])
{
int maximum, i;
maximum = s[0].score;
for(i=0;i<3;i++)
{
if (s[i].score > maximum)
{
maximum = s[i].score;
}
}
}

而且我发现 s[2] 与其他项相比得分最高。我将如何与其他“struc mates”一起实际打印另一个功能

我实际上试过像这样在上面的函数上这样做(但没有成功):

void getHighestScorer(struct studentType s[20])
{
int maximum, i;
maximum = s[0].score;
for(i=0;i<3;i++)
{
if (s[i].score > maximum)
{
maximum = s[i].score;
}
}
printf("The highest scorer is: %s, %s %d\n", s[i].studentLName,s[i].studentFName,
s[i].score);
}

我的整个程序是here

最佳答案

按如下方式定义函数

int getHighestScorer( struct studentType s[], size_t n )
{
int maximum;
size_t i;

if ( n == 0 ) return 0;

maximum = s[0].score;

for ( i = 1; i < n; i++ )
{
if ( maximum < s[i].score ) maximum = s[i].score;
}

return maximum;
}

像这样使用它

printf( "Maximum score is %d\n", getHighestScorer( s, 3 ) );

或者另一种方法

size_t getHighestScorer( struct studentType s[], size_t n )
{
size_t maximum = 0;
size_t i = 1;

for ( ; i < n; i++ )
{
if ( s[maximum] < s[i].score ) maximum = i;
}

return maximum;
}

像这样使用它

size_t i = getHighestScorer( s, 3 );
printf("The highest scorer is: %s, %s %d\n", s[i].studentLName,s[i].studentFName,
s[i].score);

关于c - 我将如何使用函数打印最高得分手(以及其他 "struc mates")。 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26690964/

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