云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C程序设计实验指导书 - 2014版

C程序设计实验指导书 - 2014版

  • 62 次阅读
  • 3 次下载
  • 2025/5/31 20:26:17

实验六 函数

【例5】写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排序。 源程序如下: /*冒泡法排序*/ #include #include #define N 10 void sort( ) void sort(char str[]); { void main() { int i,flag=1; char str[N]; while(flag) { printf(\输入字符串,长度为10:\\n\ gets(str); if (strlen(str)>N) printf(\超过长度,请重输!\ else flag = 0; } printf(\ sort(str); printf(\排序结果:\} for (i=0;i

【例6】编写程序,从键盘分别输入年、月、日,计算出该天时这年中的第几天。 示例输出:

Input year_month_day: 2005 12 12 是这年的第346天。 请按下面程序中的提示完成整个程序。 #include ―stdio.h‖ Int day_tab[2][13]={

{0,31,28,31,30,31,30,31,31,30,30,31}, {0,31,29,31,30,31,30,31,31,30,30,31}}; /*统计天数函数的头部*/ { int i,j;

/*判断该年是否是闰年,并将其逻辑值赋给变量i*/

39

实验六 函数

for(j=1;j

/*返回总的天数*/ }

void main( ) {

int y,m,d;

/*提示输入年月日*/

/*分别输入年月日*/

printf(―是这年的第%d天\\n‖,day_year(y,m,d)); }

【思考】

a. 不使用二维数组存放每个月的天数,用两个一维数组分别存放闰年和非闰年的天数,重

新编写程序。

b. 用if语句对年、月、日的正确性进行验证,若不符合年、月、日的要求就退出程序。 c. 将存放每个月天数的二维数组说明为局部数组,要如何修改程序?

编程作业

1.定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?

40

实验六 函数

2.编写一个对n个数据从大到小的排序C函数,再编写一个计算最后得分的C函数,计算方法是:去除一个最高分,去除一个最低分,其余的平均分为参赛选手的最后得分。并在主函数中调用它们对有n个评委评分,m个选手参赛的最后得分,从大到小排序输出。

3.用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数.(习题8.10)

【注意】此题要求实现两个版本,第一个版本要求把两个函数放在同一个程序文件中,作为一个文件进行编译和运行。第二个版本把两个函数分别放在两个程序文件中,作为两个文件进行编译、连接和运行。

41

实验六 函数

选做题

1.编写一个程序,包括主函数和如下子函数。

(1) 输入10个无序的整数; (2) 用冒泡法从大到小排序;

(3) 要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置。

【提示】用input函数完成10个整数的录入,sort函数完成冒泡法排序,search函数完成输入数的查找。

2.根据条件进行学生成绩排名

(1)在函数中进行10个学生成绩从高到低排名 sort(int a[10]);

(2)改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名;

(3)改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排;(a:ascending 升,d:descending 降)

(4)在main() 函数中调用它们,实现完整的功能。

知识点描述及编程体会

实验成绩 签名

年 月 日

42

搜索更多关于: C程序设计实验指导书 - 2014版 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验六 函数 【例5】写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排序。 源程序如下: /*冒泡法排序*/ #include #include #define N 10 void sort( ) void sort(char str[]); { void main() { int i,flag=1; char str[N]; while(flag) { printf(\输入字符串,长度为10:\\n\ gets(str); if (strlen(str)>N) printf(\超过长度,请重输!\ else flag = 0; } printf(\ sort(str); printf(\排序结果:\} for (i=0;i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com