第七章 用函数实现模块化程序设计

本章介绍了如何通过函数实现程序的模块化,包括计算最大数、求和、求阶乘、解决汉诺塔问题、数组操作以及字符串处理等功能。通过函数的嵌套调用、递归和处理不同类型数据,展示了函数在程序设计中的重要作用。
摘要由CSDN通过智能技术生成

第七章 用函数实现模块化程序设计

例7.1 想输出以下的结果,用函数调用实现。

例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。

例7.3 将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。

例7.4 输入两个实数,用一个函数求出它们之和。

例7.5 输入四个整数,找出其中最大的数。用函数的嵌套调用来处理。

例7.6 有5个学生坐在一起,问5个学生多少岁,他说比第四个学生大两岁。问第4个学生岁数,他说比第三个学生大两岁。问第3个学生,又说比第2个学生大2岁。问第2个学生,说比第1个学生大两岁。最后问第1个学生,他说是10岁。请问第5个学生多大。

例7.7 用递归方法求n!。

例7.8 汉诺塔问题。这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一梵塔,塔内有三座A,B,C。开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座。要求编程序输出移动盘子的步骤。

例7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。

例7.10 有一个一维数组score,内放10个学生成绩,求平均值。

例7.11 有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。

例7.12 用选择法对数组中10个整数按有小到大排序

例7.13 有一个3*4的矩阵,求所有元素中的最大值。

例7.14 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后能求出平均分、最高分和最低分。

例7.15 若外部变量与局部变量同名,分析结果。

例7.16 考察静态局部变量的值。

例7.17 输出1到5的阶乘值。

例7.18 调用函数,求3个整数中的大者。

例7.19 给定b的值,输入a和m,求a*b和a^m的值。

例7.20 有一个字符串,内有若干个字符,现输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。

例7.1 想输出以下的结果,用函数调用实现。

#include<stdio.h>
int main()
{ void print_star();
void print_message();
print_star();
print_message();
print_star();
return 0;
}
void print_star()
{
printf("*******************\n");
}
void print_message()
{
printf(" How do you do!\n");
}

运行结果如下:

例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值