我有一个程序,提示用户输入最多10位数字.程序然后使用一个函数来返回输入的每个数字的除数之和减去它自己并显示它直到该数字等于1或0.我的问题是该函数在45的除数求和后停止.我试图在这里使用递归,因为函数将被称为'n'次,直到每个函数等于0或1.在这样的情况下,递归如此有用以及如何在此处应用它?关于这个函数的调用方式,我有什么遗漏吗?有人能帮我吗?
例如,
如果用户输入:25 -4 6 45(然后按回车键)
该程序应输出:
25 1 0
-4 0 0
6 6
45 33 15 9 4 3 1 0 0
6是完整数字的一个例子并且将重复,因此如果出现完美数字,它应该停止对除数求和.当总和等于0时,应打印一次然后停止.-4也超出范围,因此它也应该打印0.必须大于1.
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
//Fields
int i=0, j=0, k=0, l=0, num = 0, x = 0, count = 0, total = 0, z = 0;
signed int b[11] = {0};
char discard;
//Prompt message
printf( "\n\nPlease enter your list of numbers: " );
//This while loop scans until the enter button is pressed
while(i …Run Code Online (Sandbox Code Playgroud)