📜  如何尝试函数编码问题?

📅  最后修改于: 2021-10-23 07:57:03             🧑  作者: Mango

函数编码问题类似于普通编码问题,除了在编写解决方案时不需要从标准 I/O 读取输入和打印输出这一事实。

在函数编码问题中,只需要完成一个已经在代码编辑器中编写的函数。您需要处理作为此函数的参数提供的输入,而不是打印结果,您必须从函数返回它。

让我们以一个示例函数问题为例:数组的均衡索引。题型与一般的编程题几乎一样。在函数问题中,您可以注意到在输出格式之后提供的附加信息作为“任务”,它清楚地说明用户只需要完成一个函数并返回结果。

您还可以看到,在此问题的代码编辑器中,已经有一个名为findEquilibrium()的函数。


该函数接受一个数组A[]和一个表示数组 A[] 大小的整数n 。您可以在上图中看到此函数的主体是空的。您需要在此函数体内编写完整的代码并从中返回结果,而无需编写单独的main()函数。你必须假定已经有写的main()函数被调用此函数,并编写相应的程序。

以下是上述问题的完整工作解决方案:

/*Please note that it's Function problem i.e.
you need to write your solution in the form of Function(s) only.
Driver Code to call/invoke your function is mentioned above.*/
  
/* You are required to complete this method*/
int findEquilibrium(int A[], int n)
{
    // Your code here
    int i, y, f, j, x;
    for (i = 1; i < n; i++) {
        y = 0;
        x = 0;
        for (j = 0; j < i; j++) {
            y = y + A[j];
        }
        for (j = i + 1; j < n; j++) {
            x = x + A[j];
        }
        if (x == y) {
            f = 1;
  
            // returning answer
            return (i);
            break;
        }
        else {
            f = 0;
        }
    }
    if (f == 0) {
        // returning answer
        return (-1);
    }
}

要记住的重要事项

  • 应该假定main()函数是已经存在,其调用所述当前函数,不应单独写一个main()函数。
  • 使用函数参数中提供的输入。
  • 从函数返回结果而不是打印它。