C语言改错:递归函数的递归调用P(n,x):输入一个整数n (n≥0)和一个双精度浮点数x,输出函数的递归调用p(n,x)的值(保留2位小数)

C语言 编写程序,从键盘输入一个正整数N,利用递归函数输出自然数1到N_学习帮助 - QQ志乐园
您的当前位置: &
C语言 编写程序,从键盘输入一个正整数N,利用递归函数输出自然数1到N
来源: |人气:785 ℃|时间: 15:51:21
为了解决用户可能碰到关于"C语言 编写程序,从键盘输入一个正整数N,利用递归函数输出自然数1到N"相关的问题,志乐园经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"C语言 编写程序,从键盘输入一个正整数N,利用递归函数输出自然数1到N"相关的详细问题如下:
编写程序,从键盘输入一个正整数N,利用递归函数输出自然数1到N#pragma hdrstop//---------------------------------------------------------------------------#include&stdio.h&#pragma argsusedint main(int argc, char* argv**){ void func(int n); int N; printf(&input a number:&); scanf(&%d&,&N); func(N); getchar(); getchar(); return 0;}void func(int n){ if(n==1){printf(&%4d&,n);} else{ func(n-1); printf(&%4d&,n); }}
||||点击排行C语言:用递归函数DigitSum(n)实现输入1729,输出sum=1+7+2+9=19的值
#define _CRT_SECURE_NO_WARNINGS
#include&stdio.h&
#include&stdlib.h&
int DigitSum(unsigned int num)
int sum = 0;
int n = 0;
if (num != 0)
n = num % 10;
num = num / 10;
sum = n + DigitSum(num);
int main()
unsigned int num = 1729;
printf(&%d\n&, DigitSum(num));
system(&pause&);1323人阅读
原题目:输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解
c语言解法分析:
&&&&&&&&&& 先判定n和m的大小,如果m小于n,则只需从1,2……m之间找出和为m的组合即可,如果m大于n,则需要判断1~n的和是否大于或等于m,否则参数无效,当组合满足以上有效条件,先判定1~n中连续相加的和大于等于m时即可得出该组合的最多项,并用递归算法实现组合项操作,最小组合项为2;代码实现如下:
#include &stdio.h&
#include &stdlib.h&
static int end=0;
static int step=0;
static int flag_mem=0;
static int sum_m=0;
static int *arry_p = NULL;
int i_sum=0;
void sum_fun(int count,int from) //递归方法求组合
&if(flag_mem)
&&& arry_p = (int *)malloc(step*sizeof(int));
&&& flag_mem=0;
&if(count == step)
&&&&&&& run_pr=
&&for(sum_run=0;count &= 1; count--)
&&&&&&&&&&& sum_run += *(arry_p+step-count);
&&&&&&& if(sum_run==sum_m){
&&&&&&& for(;run_pr &= 1; run_pr--)
&&&&&&&&&&& printf(&%d&,*(arry_p+step-run_pr));
&&&if(run_pr &= 2)
&&&&printf(& + &);
&&printf(& = %d&,sum_m);
&&&&&&& printf(&\n&);
&&&&&&& i_sum++;
&for(;step - count &= end - from++)
&&&*(arry_p+count) = from + 1;
&&&sum_fun(count+1,from+1);
int n_sum(int m)
&&& for(sum=0,i=1;sum &= i++)
&&sum +=
&&& i--;&&&
int main(void)
&&& int i,j;
&printf(&请输入两个数m和n,求1~n中加起来和为m的组合: n =&);
&scanf(&%d&,&n);
&printf(&m = &);
&scanf(&%d&,&m);
&&& sum = (1+n)*n/2;
&&if(sum & m){
&&&printf(&该组合不存在 \n&);
&&&&&&& }else if(sum == m){
&&&for(i = 1;i &= i++)
&&&&printf(&%d &, i);
&&&printf(&\n&);
&&&&&&& }else
&&&&&&&&&&& sum_m =
&&&for(i=n_sum(m);i&=2;i--)
&&&&&&&&&&& {
&&&&step =
&&&&&&&&&&&&&&& flag_mem = 1;
&&&&&&&&&&&&& &sum_fun(0,0);
&&&&&&&&&&&&&&& free(arry_p);&
&&&&&&&&&&& }
&&&&&&& }&&
&&if(m &= 2){
&&&printf(&该组合不存在 \n&);
&&&&&&& }else{
&&&&&&&&&&& sum_m =
&&&&&&&&&&& for(i=n_sum(m);i&=2;i--)
&&&&&&&&&&& {
&&&&step =
&&&&&&&&&&&&&&& flag_mem = 1;
&&&&&&&&&&&&& &sum_fun(0,0);
&&&&&&&&&&&&&&& free(arry_p);&
&&&&&&&&&&& }
&printf(&总共有 %d 套组合 \n&,i_sum);
&&& i_sum = 0;
&system(&pause&);
&return 0;
运行结果如下:
如果大家有兴趣可以试试大的数据,我曾经试过从1~33中打印加起来为150的组合,有4040970种,呵呵,如果有人感兴趣可以试试,就要看各位朋友计算机性能了!
注:初次发表文章,请多多关照,因能力有限,如有错误请及时反馈,谢谢!
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3518次
排名:千里之外
(4)(3)(1)(1)(1)80022找最长字符串;输入一个正整数repeat(0&repea;输入一个正整数n;(1&n&=10),然后输入n个字符;输入输出示例:括号内为说明输入:;3(repeat=3)5(n=5);melonpeachpearstrawberry;Thelongestis:strawberryT;80021找最大的字符串;输入5个字符串,输出其
找最长字符串
输入一个正整数 repeat (0&repeat&10),做 repeat 次下列运算:
输入一个正整数 n
(1&n&=10),然后输入 n 个字符串,输出其中最长的字符串,如果字符串的长度相同,则输出先输入的字符串。
输入输出示例:括号内为说明 输入:
(repeat=3) 5
melon peach pear strawberry orange 3
(n=3) pear berry orange
(n=4) melon peach pear apple 输出:
The longest is: strawberry The longest is: orange The longest is: melon
找最大的字符串
输入5个字符串,输出其中最大的字符串。 输入输出示例:括号内为说明 输入: peach
pear melon orange berry 输出: Max is: pear
使用函数实现字符串复制
输入一个正整数 repeat (0&repeat&10),做 repeat 次下列运算:
输入一个字符串 t 和一个正整数 m,将字符串 t 中从第 m 个字符开始的全部字符复制到字符串 s 中,再输出字符串 s。
要求定义并调用函数 strmcpy(s,t,m), 它的功能是将字符串 t 中从第 m 个字符开始的全部字符复制到字符串 s 中,函数形参s和t的类型是字符指针,形参m的类型是int,函数类型是void。
输入输出示例:括号内为说明 输入:
(repeat=3) happy new year 7
使用函数删除字符串中的字符
输入一个正整数 repeat (0&repeat&10),做 repeat 次下列运算:
输入一个字符串 str,再输入一个字符 c,将字符串 str 中出现的所有字符 c 删除。
要求定义并调用函数delchar(str,c), 它的功能是将字符串 str 中出现的所有 c 字符删除,函数形参str的类型是字符指针,形参c的类型是char,函数类型是void。 输入输出示例:括号内为说明 输入
(repeat=3)
happy new year
(字符串&happy new year&) a
(待删除的字符'a') bee
(字符串&bee&) e
(待删除的字符'e') 111211
(字符串&111211&) 1
(待删除的字符'1') 输出
result: hppy new yer
(字符串&happy new year&中的字符'a'都被删除)
(字符串&bee&中的字符'e'都被删除)
(字符串&111211&
中的字符'1'都被删除)
happy 1 new 4 输出:
(从&happy new year&第7个字符开始组成的新字符串为&new year&)
(从&happy&第1个字符开始组成的新字符串为&happy&)
error input
(&new&的长度小于4)
判断回文字符串
输入一个正整数 repeat (0&repeat&10),做 repeat 次下列运算:
输入一个字符串(长度不超过80),判断该字符串是否为“回文”。“回文”是指顺读和倒读都一样的字符串,如“XYZYX”和“xyzzyx”。
要求定义并调用函数 mirror(p)判断字符串 p 是否为“回文”,如果 p 是回文字符串,返回1,否则,返回0,函数形参 p 的类型是字符指针,函数类型是 int。 输入输出示例:括号内为说明 输入: 2 abcddcba abcddcb 输出: YES NO
(repeat=2)
分类统计字符个数
输入一行字符(不超过80个),统计其中的大写字母、小写字母、空格、数字以及其他字符的个数。 输入输出示例: 输入: bFaE3+8 =1R 输出:
upper: 3 lower: 2 blank: 1 digit: 3 other: 2
夏5周 10014
计算函数P(n,x)
输入一个正整数repeat (0&repeat&10),做repeat次下列运算:
输入一个整数n (n&=0)和一个双精度浮点数x,输出函数p(n,x)的值(保留2位小数)。
p(n, x) = [x
[((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n
例:括号内是说明
p(0, 0.90)=1.00 p(1, -9.80)=-9.80 p(10, 1.70)=3.05
(repeat=3)
0.9 -9.8 1.7
(n=0,x=0.9) (n=1,x=-9.8) (n=10,x=1.7)
十进制转换二进制 输入一个正整数 repeat (0&repeat&10),做 repeat 次下列运算:
输入1 个正整数n,将其转换为二进制后输出。要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。 例如,调用dectobin(10),输出1010。 输出语句:printf(&%d&); 例:括号内是说明 输入:
(repeat=3) 15 100 0 输出:
递归函数程序设计求Fabonacci数列
三亿文库包含各类专业文献、生活休闲娱乐、中学教育、专业论文、高等教育、外语学习资料、91Res_2009夏学期C语言上机练习参考答案汇总等内容。 
 { 19 设左字符为 夏学期 C 程序设计上机练习参考答案 char str[MAXLEN]; int repeat, scanf(&%d&, &repeat); getchar(); for(...  (repeat=2) A flag of USA 1+2=3 输出: After replaced: Z flag of FHZ After replaced: 1+2=3 11 夏学期 C 程序设计上机练习参考答案 for(i = 0;...  2009夏学期C语言上机练习参考答案汇总_IT认证_资格考试/认证_教育专区。夏学期 ...(void) 29 夏学期 C 程序设计上机练习参考答案 { int i, index, n, res,...  Res_2009夏学期C语言上机练... 37页 免费 浙江大学C语言上机题及答案... 41页 1财富值 Res_2009夏学期C语言上机练... 70页 免费 浙大c语言程序习题答案 ...  浙江大学C语言上机练习参考答案汇总_工学_高等教育_教育专区。夏学期 C 程序设计...浙大春学期C语言上机练习... 33页 免费 Res_2009春学期C语言上机... 62页 ...  高职上机C语言试卷A答案 5页 4下载券 春学期C语言上机练习参考... 62页 免费 C语言上机练习常见选择题... 6页 3下载券 Res_2009春学期C语言上机... 62页...  C语言上机练习参考答案_工学_高等教育_教育专区。? 第 1 章 C 语言概述 1-...Res_2009夏学期C语言上机... 37页 免费 2009夏学期C语言上机练习......  70页 免费 Res_2009夏学期C语言上机练... 70页 5财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...  浙江大学C语言总复习题-... 49页 免费
浙大c语言程序习题答案 21页 免费 ...Res_2009夏学期C语言上机... 70页 免费 ©2015 Baidu 使用百度前必读 | 文库...}

我要回帖

更多关于 python递归函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信