我坚持参加编程类(class)的练习。我实际上不想要我想要更多提示的代码。

我有一个分数数组,我需要在数组中找到最大的分数。此外,我有一个函数decimal()将分数转换为十进制。我的想法是这样的:

struct fraction &greatestFraction(struct fraction fractionArray[], int arrayLength){
    double greatestValue = 0.0;

    for (int i = 0; i < arrayLength; i++) {
        if (decimal(fractionArray[i]) > greastestValue) {
            greatestValue = i;
        }
    }
    return fractionArray[];
}

将分数转换为十进制,但我必须返回一个结构。我很茫然。

最佳答案

试试这个:

struct fraction& greatestFraction(struct fraction fractionArray[], int arrayLength)
{
    double greatestValue = decimal(fractionArray[0]);
    int    greatestValueIndex = 0;

    for (int i=1; i<arrayLength; i++)
    {
        double value = decimal(fractionArray[i]);
        if (greastestValue < value)
        {
            greastestValue = value;
            greatestValueIndex = i;
        }
    }

    return fractionArray[greatestValueIndex];
}

10-04 13:15