- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
全国计算机等级考试二级C语言题型总结(三)——函数与数组程序设计部分
上机题型归纳总结:
函数部分
函数的传值调用与传地址调用
(案例1)要求编写一个函数,实现两个数的交换功能
传值调用函数的设计
main()
{
int a = 5,b=6;
c = swap(a,b);
printf(“a=%d,b=%d”,a,b);
printf(“a=%d,b=%d”,a,b);
}
int swap( int a, int b)
{
int t;
t=a;
a=b;
b=t;
printf(“a=%d,b=%d”,a,b);
}
(2)传地址调用的程序设计
main()
{
printf(“a=%d,b=%d”,a,b);
int a = 5,b=6;
c = swap(a,b);
printf(“a=%d,b=%d”,a,b);
}
int swap( int *a, int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
printf(“a=%d,b=%d”,*a,*b);
}
函数设计的递归方法
(案例1)题目:利用递归方法求5! 题目:利用递归函数调用方式,将所输入的字符以相反顺序打印出来。题目:对10个数进行排序题目:求一个3*3矩阵对角线元素之和 #include stdio.hmain(){int i;int fact();for(i=0;i5;i++) printf(\40:%d!=%d\n,i,fact(i));}int fact(j)int j;{int sum;if(j==0) sum=1;else sum=j*fact(j-1);return sum;}
# include stdio.h
void output(char a[]);
void main()
{
char a[100];
char *p;
p=a;
printf(intput a string:\n);
scanf(%s,a);
output(a);
}
void output(char a[])
{
char *p;
p=a;
if(*p==\0)
printf(%c,*p);
else
output(p+1);
printf(%c,*p);
}
(案例2)
1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。 2.程序源代码:#define N 10main(){int i,j,min,tem,a[N];/*input data*/printf(please input ten num:\n);for(i=0;iN;i++){printf(a[%d]=,i);scanf(%d,a[i]);}printf(\n);for(i=0;iN;i++)printf(%5d,a[i]);printf(\n);/*sort ten num*/for(i=0;iN-1;i++){min=i;for(j=i+1;jN;j++)if(a[min]a[j]) min=j;tem=a[i];a[i]=a[min];a[min]=tem;}/*output data*/printf(After sorted \n);for(i=0;iN;i++)printf(%5d,a[i]);}(案例3)
1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:main(){float a[3][3],sum=0;int i,j;printf(please input rectangle element:\n);for(i=0;i3;i++) for(j=0;j3;j++) scanf(%f,a[i][j]);for(i=0;i3;i++) sum=sum+a[i][i];printf(duijiaoxian he is %6.2f,sum);}
您可能关注的文档
- 金属及其化合物复习题1.doc
- 初一英语第三人称单数.doc
- 月亮的心愿 生字 .ppt
- 教科版 三年级语文上册课件锡林郭勒草原1.ppt
- 第三届现场咨询会策划方案.doc
- 庆云县当堂达标课时学案M4u1-1.doc
- 10.家唱扁(家汲).doc
- 4.系统的冷冻油检查与加注.doc
- 在VMWare中安装Windows2003Cluster.doc
- 掘进区工作流程.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)