C 如何使用递归打印此代码的结果?

C 如何使用递归打印此代码的结果?,c,recursion,C,Recursion,下面是C程序的源代码,用于查找系列1^2+2^2+4的和n^2 #include <stdio.h> int main() { int number, i; int sum = 0; printf("Enter maximum values of series number: "); scanf("%d", &number); sum = (number * (number + 1) * (2 * number + 1 )) / 6

下面是C程序的源代码,用于查找系列1^2+2^2+4的和n^2

#include <stdio.h>

int main()
{
    int number, i;
    int sum = 0;

    printf("Enter maximum values of series number: ");
    scanf("%d", &number);
    sum = (number * (number + 1) * (2 * number + 1 )) / 6;
    printf("Sum of the above given series : ");
    for (i = 1; i <= number; i++)
    {
        if (i != number)
            printf("%d^2 + ", i);
        else
            printf("%d^2 = %d ", i, sum);
    }
    return 0;
#包括
int main()
{
整数,i;
整数和=0;
printf(“输入序列号的最大值:”);
scanf(“%d”和编号);
总和=(数字*(数字+1)*(2*数字+1))/6;
printf(“上述给定系列的总和:”);

对于(i=1;i您需要的是引入一个新函数:

#include <stdio.h>
void printNumber(int, int, int);

int main()
{
    int number, i = 1;
    int sum = 0;

    printf("Enter maximum values of series number: ");
    scanf("%d", &number);
    sum = (number * (number + 1) * (2 * number + 1 )) / 6;
    printf("Sum of the above given series : ");

    printNumber(i, number, sum);
    return 0;
}

void printNumber(int i, int number, int sum){
    //if (i >= number) return; 
    //safe to remove above as i == number won't call the function again
    if (i != number){
        printf("%d^2 + ", i);
        printNumber(i + 1, number, sum);
    }
    else{
        printf("%d^2 = %d ", i, sum);
    }
}
#包括
无效打印编号(int,int,int);
int main()
{
整数,i=1;
整数和=0;
printf(“输入序列号的最大值:”);
scanf(“%d”和编号);
总和=(数字*(数字+1)*(2*数字+1))/6;
printf(“上述给定系列的总和:”);
打印编号(i、编号、总和);
返回0;
}
无效打印编号(整数i、整数编号、整数和){
//如果(i>=编号)返回;
//可以安全地删除上面的内容,因为i==number不会再次调用该函数
如果(i!=编号){
printf(“%d^2+”,i);
打印编号(i+1,编号,总和);
}
否则{
printf(“%d^2=%d”,i,和);
}
}

您是否有任何您已经尝试过的示例可以发布?Stack Overflow不是一种代码编写服务。如果您在自己找到解决方案方面付出了一些努力,人们将乐于提供帮助。