C语言程序设计教程第四章练习题解析(1)(6)
printf(“该数是奇数”); }
int main() {
int num;
scanf(“%d”,&num); func(num); return 0; }
解析:func()函数对传入进来的参数num进行奇偶判断; 主函数中调用func()函数,传入参数得到判断结果。
31、编写一个函数,实现1-100的相加和,并在主函数中调用。 答案:#include
int num, sum = 1;
for(num = 1; num <= 100; num++) {
sum += num; }
return sum; }
int main() {
int sum = 0; sum = func();
printf(“sum = %d”,sum); return 0; }
解析:func()函数实现1-100的相加和,并将结果返回给调用者。 主函数中的sum接收调用func函数的返回值,并将其打印
32、请编写一个程序,用户从键盘输入英文字母,如果是大写,将其转换成小写输出;如果是小写,将其转换成大写输出。
提示:英文字母在计算机中以ASCII码表形式存在。 答案:#include
char ch; printf(\请输入英文字母:\\n\ scanf(\ if (ch >= 'A' && ch <= 'Z') printf(\ else if (ch >= 'a' && ch <= 'z')
printf(\return 0; }
解析:英文字母对应的ASCII码值,大写比对应小写小32
33、请编写一个程序,用户输入一个十进制整数,分别输出其十进制、八进制、十六进制对应的数值。
答案:#include
int num;
scanf(“%d”,&num);
printf(“十进制为:%d\\n八进制为:%o\\n十六进制为:%x\\n”,num,num,num); return 0; }
解析:十进制输入格式符为%d,八进制输出格式符为%o,十六进制输出格式符为%x。 34、请编写一个程序,实现两个数的求和,并打印出来。 答案:#include
void add(int a, int b) { int s = a + b; show(s); return; }
int main() {
int s = a + b; show(s); return 0; }
解析:add()函数实现两个数相加,show()函数将两个数相加的结果打印出来。 35、请编写一个程序,用户从键盘随机输入四个数,比较这个四个数得出其中最大值并输出。 提示:
1)编写一个两个数值比较的函数
2)编写一个四个数值比较的函数,调用这个函数,在该函数中调用两个数值比较的函数 答案:#include
} else { return b; } }
int max4(int a, int b, int c, int d) { int res; res = max2(a, b); res =max2(res,c); res = max2(res, d); return res; }
int main() {
int a, b, c, d, max;
printf(\请输入四个整数:\ scanf(“%d%d%d%d”,&a,&b,&c,&d); max = max4(a, b, c, d); printf(\return 0; }
解析:输入四个数,调用max4()函数,在max4()函数中又调用max2()函数进行两两比较,
最后得出最大值,返回给调用函数。
36、请编写一个程序,计算s = 2^2! + 3^2!; 提示:
1)编写一个函数计算平方值 2)编写一个函数计算阶乘 答案:#include
long f2(int q){ long c = 1; int i; for (i = 1; i <= q; i++) c = c*i;
return c; }
int main() { int i; long s = 0; for (i = 2; i <= 3; i++) s = s + f1(i); printf(\return 0; }
解析:函数f1()实现了计算数值的平方,函数f2()实现了阶乘计算,在f1()中调用f2()实现
了计算表达式的值。
37、请编写一个程序,用递归方法实现n!。 提示:
1) 递归调用是函数自身调用自身的过程 2) 每递归调用一次n就要自减一次 答案:#include
int main() {
int n ;
scanf(“%d”,&n); int sum = add(n);
printf(“结果为:%d\\n”,sum); return 0; }
解析:add()函数实现递归,每调用一次n要减1. 38、请编写一个程序,求出m的n次方。 提示:编写递归函数求解。 答案:#include
int main() {
int m, n,sum; scanf(\ sum = func(m, n); printf(\return 0; }
解析:func()实现递归调用,每乘上一个m,再用n-1调用函数,实现m的n次方。
39、假设有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都存活,问一年之后(第13个月)月兔子总数为多少对? 提示:兔子的规律为数列1,1,2,3,5,8,13,? 答案:#include
int main() {
int month = 13; printf(\第 %d 个月兔子总数为 %d 对。\\n\return 0; }
解析:斐波那契数列是典型的递归实现问题,兔子每月的增长有一定的规律,本月出生的 …… 此处隐藏:917字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




