函数编码问题与普通编码问题类似,不同之处在于在编写解决方案时不需要从标准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()函数。
- 使用函数参数中提供的输入。
- 从函数返回结果,而不是打印结果。