- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言 函数应用
福 建 工 程 学 院
课程设计
课 程: 高级语言课程设计 _
题 目: 第一组第六题函数应用
专 业: 信管 _
班 级: _
学 号: _
姓 名: _
一、需求分析
题目:函数应用
编写主函数和func函数,函数func的功能要求是:func( int a[], int b[], int na, int *nb ),其中 a 数组有 na个元素(均为正整数)。函数 func的功能是:找出 a 数组元素中所有偶数存入 b 数组中,在 nb 所指的单元中存入这些偶数的个数,并由小到大对b数组元素排序。
(数组下标从 0 开始,不能改动 a 数组元素的值)。
例如:a 数组为:11, 13, 14, 12, 15, 16, 18, 19, 17, 110;
则调用函数 fun4 后 b 数组为:12, 14, 16, 18, 110;
且 *nb 的值为:5(即 b 数组共存入了5个元素)。
分析:此题目要求设计函数func(),使其达到将一个数组中的偶数转存到另一个数组中,从大到小排序输出,并记录偶数个数输出。
二、总体设计
设计函数func(),需要用if语句判断原数组的每一项是否为偶数,若为偶数存入另一个数组,并用指针计数,将新的数组进行从大到小排序,可采用冒泡排序法。
Func函数
三、详细设计
Func()函数的功能是将原数组的偶数挑选出来,放入另一个数组,输出这个数组,并输出这个数组的元素个数。其中a[]表示原数组,b[]表示要存放偶数的数组,na表示a[]的元素个数,*nb要记录b[]的最终元素个数。
四、程序运行结果与分析
五、编码
void func(int a[],int b[],int na,int *nb)
{
int i,j=0,k,t; /* i此次表示数组的下角标,t用于两数交换*/
for(i=0;ina;i++) /*这个循环是将a[]的偶数赋值给b[]*/
{if(a[i]%2==0)
{ b[j]=a[i];
j++;
}
}
*nb=j;
for(i=0;i*nb-1;i++)
{k=0; /*设为交换标志*/
for(j=0;j(*nb-i-1);j++)
if(b[j]b[j+1])
{k=1;
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
if(!k) break; /*没有交换,已排序*/
}
for(i=0;i*nb;i++)
printf(%4d,b[i]);
}
main()
{int a[10]={11,13,14,12,15,16,18,19,17,110},b[20],p,i;
printf(原数组:);
for (i=0;i10;i++)
printf ( %d,a[i]);
printf(\n新数组:);
func(a,b,10,p); /*函数的调用,并将*nb值赋给p */
printf(\n存入的偶数个数: %d,p);
}
六、结论于心得
在程序调试过程中出现指针在函数中的应用,在调用函数后,不知如何输出指针的值,通过翻书、问同学解决。了解到指针与函数的重要性,应灵活应用。
结束
输出: 新数组 func(a,b,10,p) p
i++
输出 a[i]
i10
i=0
输入 a[10]={11,13,14,12,15,16,18,19,17,110},b[20],p,i
开始
结束
i++
输出 b[i]
i*nb
i=0
i++
break
!k
Y
j++
k=1
j(*nb-i-1)
j++
k=0
N
N
i*nb-1
i=0
*nb=j
Y
i++
b[j++]=a[i]
Y
a[i]%2=0
ina
i=0
输入i,j=0,k,t
开始
N
N
N
N
Y
Y
Y
Y
您可能关注的文档
最近下载
- (苏教版)数学五年级上册寒假“天天练”作业设计,含30份题组,附参考答案.pdf
- 《(电影、美剧超级大包)(英语中字)(BD-MKV HD-MKV 1200G)115 先收着。。。转自deefun》.doc
- 2023年黑龙江省烟草专卖局(公司)真题.docx VIP
- 招标采购代理规范zbtb-t a01-2016.pdf
- 小儿肺脏超声基础课件.ppt
- 华南理工大学《管理统计学》课件-第2章统计数据的描述.pptx
- 2023年黑龙江省烟草专卖局系统考试真题.docx VIP
- 《好妈妈胜过好老师》.doc
- 家长会参考讲义——围棋与孩子的素质教育幻灯片课件.ppt
- 华南理工大学《管理统计学》课件-第6章方差分析与试验设计.pptx
文档评论(0)