您当前所在位置:自考本科 > 网站地图 > 备考资料 > 模拟试题 > 工学类 > C语言程序设计 > 2022年自学考试《C语言程序设计》练习题及答案6

2022年自学考试《C语言程序设计》练习题及答案6

2022-07-12 11:12:00  来源:金宝搏188入口

2022年自学考试《C语言程序设计》练习题及答案6

【3.26】下面的函数sum(int n)完成计算1~n的累加和。

sum(int n)

{if(n<=0)

printf('data errorn');

if(n==1)①;

else②;

}

【3.27】下面的函数是一个求阶乘的递归调用函数。

facto(int n)

{if(n==1)①;

else return(②);

}

【3.28】组合问题,由组合的基本性质可知:

(1)C(m,n)=C(n-m,n)

(2)C(m,n+1)=C(m,n)+C(m-1,n)

公式(2)是一个递归公式,一直到满足C(1,n)=n为止。当n<2*m时,可先用公式(1)进行简化,填写程序中的空白,使程序可以正确运行。

#include'stdio.h'

main()

{int m,n;

printf('Input m,n=');

scanf('%d%d',&m,&n);

printf('The combination numbeers is%dn',combin(m,n));

}

combin(int m,int n)

{int com;

if(n<2*m)m=n-m;

if(m==0)com=1;

else if(m==1)①;

else②;

return(com);

}

【3.29】下列函数是求一个字符串str的长度。

int strlen(char*str)

{if(①)return(0);

else return(②);

}

【3.30】用递归实现将输入小于32768的整数按逆序输出。如输入12345,则输出54321。

#include'stdio.h'

main()

{int n;

printf('Input n:');

scanf('%d',①);

r(n);

printf('n');

}

r(int m)

{printf('%d',②);

m=③;

if(④)

⑤;

}

【程序填空题参考答案】

【3.26】答案:①return(1)②return(sum(n-1)+n)

注释:按照常规的编程方法,此问题可采用一个循环语句实现。阅读程序,没有发现循环语句,这时,应当认为原来的编程者使用的是非常规的算法。对于这样常规算法需要用循环实现而没有使用循环的程序,就可以肯定地认为,一定是使用了递归算法。

将问题'求1~n的累加和'的公式写成递归定义,可以是如下形式;

sum(n)=1当n=1时

sum(n)=sun(n-1)+n当n>1时

根据此递归定义,可以很容易完成程序。

【3.27】答案:①return(1)②n*facto(n-1)

注释:我们熟悉的求n!的算法一般是采用循环语句实现,但在此程序中根本没有循环语句。这时我们应该想到:是采用递归算法实现的。首先写出求n!的递归公式;

n!=1当n=1时

n!=n*(n-1)当n>1时

根据此递归定义,可以很容易完成程序。

【3.28】答案:①com=n②com=combin(n-1,m-1)+combin(n-1,m)

注释:题目的说明中已经给出组合问题的递归定义,不需要读者自己寻找递归表达式。程序中的语句'if(n<2*m)m=n-m;'完成了题目中叙述的'用公式(1)进行简化'的工作。

【3.29】答案:①*str==''②1+strlen(str+1)

注释:求串长算法的关键是确定串结束标记''的位置。根据求串长的方法,可以得到如下递归算法:指针str指向字符串的首字符

如果当前字符(*str)==串结束标记''

则串长=0

否则串长=1+除第一个字符之外的剩余字符串的串长

因此,在①的位置上应当填写'*str==''',以判断当前字符(*str)是否是串结束标记''。在②的位置应当是根据上面的递归算法进行递归调用,因此应当填写'1+strlen(str+1)'。

【3.30】答案:①&n②m%10③m/10④m>0⑤r(m)

热门推荐:

自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》

推荐阅读:

2022年10月各省成人自学考试报名时间及入口汇总

2022年10月全国各省自学考试报考条件汇总

2022年10月全国各省成人自学考试报名官网汇总

你可能感兴趣的试题
1
意向表
2
学习中心老师电话沟通
3
查看评估报告
1、年龄阶段

2、当前学历

3、提升学历目标

4、意向学习方式

报考所在地
*
*
*

查看成人高考最新资讯 查看远程教育最新资讯

自考专业快选

自考热门专题

自考热议话题

自考推荐文章

Baidu
map