- 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
您可能关注的文档
- (精品书籍)23高级均线教程.doc
- (珊珊版)动能定理.doc
- (识图)初学预算人员必读.doc
- !“千岛湖·旅游”宣传推广策划案0527.ppt
- [成套]人教版高三历史必修1、2、3全套复习提纲+[人教版]【更多资料关注@高中学习资料库 】.doc
- [全套]初中英语中考复习资料超全语法、词组、句型、作文及知识点大全.doc
- [整理]名言名句复习资料【更多资料关注@高中学习资料库 】.doc
- _本科毕业论文设计模板 1.doc
- “经营之神”宗庆后.doc
- ] 钢筋识图入门.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)