题:输入一个数,列出所有加和等于该数的式子。
分析:
以 6 为例:
从上面的分析就比较容易找到规律了。
C语言代码:
1 #include <stdio.h> 2 3 int main() 4 { 5 int n; // 输入的数 6 printf("Please input the number:"); 7 scanf("%d",&n); 8 test(n); 9 } 10 11 void test(int n) 12 { 13 if(n==1){ 14 printf("1=1\n"); 15 return; 16 } 17 int i,j,k; // 循环变量 18 for(i=1;i<=n/2;i++) 19 { 20 for(j=(n-i);j>=i;j--) 21 { 22 printf("%d",i); 23 for(k=0;k<(n-i-j);k++) 24 { 25 printf("+1"); 26 } 27 printf("+%d=%d\n",j,n); 28 } 29 } 30 }
这是同学去面试的时候,给的一道上机题,刚看到我就想用递归(当然,没有做出来),所以……for循环大法好(^_^)