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

📅  最后修改于: 2021-05-24 18:17:21             🧑  作者: Mango

函数编码问题与普通编码问题类似,不同之处在于在编写解决方案时不需要从标准I / O读取输入和打印输出。

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

让我们以一个示例函数问题为例:数组的平衡指数。问题的模式与普通编程问题几乎相同。在函数问题中,您会注意到在输出格式之后作为“任务”提供的其他信息,该信息清楚地说明了用户只需要完成一个函数并从中返回结果即可。

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


该函数接受一个数组A []和一个整数n ,该整数n表示数组A []的大小。您可以在上图中看到此函数的主体为空。您需要在此函数的主体内编写完整的代码,并从中返回结果,而无需编写单独的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()函数。
  • 使用函数参数中提供的输入。
  • 从函数返回结果,而不是打印结果。