n=3*n+1;?returnn;}intmain(){inti,m;scanf("%d",&m);?for(i=1;;i++)?{ printf("%d,",m); m=fun(m); if(m==1)break;?}printf("1\nstep=%d\n",i+1);return0;}2、卖鸭子(10分)题目内容: 编程调用递归函数。一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了7个村子后还剩2只鸭子,问他出发时共赶多少只鸭子?经过每个村子时依次卖出多少只鸭子?输入格式:无输出格式:出发时总鸭子数每个村子卖出鸭子数输入样例:无输出样例:(不是结果,仅表示格式)sum=25[回车]sell=8,sell=4,[回车]时间限制:500ms内存限制:32000kbCode:#include<stdio.h>intfun(inti){?intsum;?if(i==7)sum=2;elsesum=(fun(i+1)+1)*2;returnsum;}intmain(){?inti;printf("sum=%d\n",fun(0));for(i=1;i<=7;i++)printf("sell=%d,",fun(i)+2);?printf("\n");?return0;}3、输出各位数字之和(10分)题目内容: 编程调用递归函数,求输入一个数,输出这个数的各位数字之和。输入格式: 输入一个数输出格式: 输出这个数的各位数字之和输入样例:2354[回车]输出样例:14[回车]时间限制:500ms内存限制:32000kbCode:#include<stdio.h>intmain(){?intnum=0;?ints=0;?inti=0;?scanf("%d",&num);?while(num)?{ s+=num%10; num=num/10; i++;