當前位置:成語大全網 - 新華字典 - 用C語言編寫遞歸函數。對於給定的n,輸出其和等於n的所有不增的和式

用C語言編寫遞歸函數。對於給定的n,輸出其和等於n的所有不增的和式

#include?"stdio.h"

void?main()

{

int?n,ns;int?i,j,k,m;

printf("請輸入n的值");

scanf("%d",&ns);//將輸入n的值存入變量ns

n=ns;

printf("%d=%d\n",n,n);//輸出n=n的情況?比如7=7

//核心思想n=(n-1)+1再把n-1看做n進行遞歸直到n=1

while(n)

{

m=n/2;//取n的壹半

for(i=1;i<=m;i++)//對於任意整數都可以看做n/2種兩個正整數的和

{

k=n-i;

printf("%d=%d+%d",ns,k,i);//輸出n=a+b型

for(j=0;j<ns-n;j++)//ns可以看做n後面加ns-n個1

{

printf("+1");

}

printf("\n");//換行

}

n--;

}

scanf("%d",&k);//防止窗口馬上關閉?輸入任意數回車關閉

}