C语言实验报告之利用函数进行程序设计_第1页
C语言实验报告之利用函数进行程序设计_第2页
C语言实验报告之利用函数进行程序设计_第3页
C语言实验报告之利用函数进行程序设计_第4页
C语言实验报告之利用函数进行程序设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、实验的目的掌握定义函数的方法。掌握函数的实参与形参的对应关系以及“值传递”的方式。掌握函数的嵌套调用及其递过调用的方法。掌握全局变量与局部变量的使用。二、要求及内容本实验主要完成函数的的应用训练,总共要求完成四个问题的源代码的编辑、编译、连接与运行,最终产生相关的运行结果,按规定要求提交相应的实验报告。具体要求完成的问题如下:编程求100—200之间的素数,该区间的数据从主函数中传出,由一个判别素数的函数进行判别后返回主函数输出。编写一个程序,由主函数传来一个字符串,在函数中分别统计出字母、数字、空格和其它字符的个数,在主函数中打印输出。用递归算法将一个整数n转换成相应的字符串。输入10个学生5门课的成绩,分别用函数实现下列各项功能:

(1)计算出每个学生的平均分;

(2)计算出每门课程的平均分;

(3)找出所有50个分数中最高分数所对应的学生和课程。三、算法设计思想或程序流程图1、根据素数是不能被2到本身的开平方之间的任何一个整数整除的整数,设计一个判别一个整数是不是素数的函数,即为“sushu”,然后在主函数中调用并求出100—200中的所有素数。2、编写一个判断字母、数字、空格以及其他字符的函数,即“jisuan”,从主函数中输入一个字符串,调用函数对其计算相关字符的个数。3、从主函数中输入一个n。设计函数“zfc”,如果n整除10为0,则输出其对应的ASCLL码,如果不为0,则继续返回函数“zfc”,即递归调用,直到为0为止。主函数中,判断n是否大于0,若不大于0,则输出时求出n的相反数并在其之前加一个“-”号。4、设计一个“score”函数,结合for循环语句和数组计算每个学生和每门课程的平均分并且找出所有50个分数中最高分数所对应的学生和课程,然后再main函数中调用。四、所使用的软硬件平台软件平台:MicrosoftWindowsXP专业版SP3,MicrosoftVisualC++6.0。硬件平台:联想系列,Intel(R)Core(TM)i3,CPU3.20Ghz,2.99GB内存,550GB硬盘。五、源程序代码 1、#include<stdio.h>#include<math.h>intmain(){intt;intsushu(intn);for(t=100;t<=200;t++){if(sushu(t)==0)printf("%5d",t);};printf("\n");}intsushu(intn){inti;for(i=2;i<sqrt(n);i++)if(n%i==0)break;if(i>sqrt(n))return0;}2、#include<stdio.h>intk,l,m,n;intmain(){intjisuan(chara);inti;charzifuchuan[80];printf("请输入一个字符串:\n");gets(zifuchuan);k=0,l=0,m=0,n=0;for(i=0;zifuchuan[i]!='\0';i++)jisuan(zifuchuan[i]);printf("字母的个数是:%d,数字的个数是:%d,空格的个数是:%d,其他字符的个数是:%d\n",k,l,m,n);}intjisuan(chara){if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))k++;elseif(a>='0'&&a<'9')l++;elseif(a=='')m++;elsen++;return0;} 3、#include<stdio.h>intmain(){voidzfc(intn);intn;printf("请输入一个整数n:");scanf("%d",&n);printf("相应的字符串为:");if(n<0){putchar('-');n=-n;}zfc(n);printf("\n");}voidzfc(intn){intm;if((m=n/10)!=0)zfc(m);putchar(n%10+'0');} 4、#include<stdio.h>#include<conio.h>voidscore(){inti,j,a[10][5],max=0,sum=0,b[2];printf("请分别输入10个学生5门课的成绩:\n");for(i=0;i<10;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);printf("每个学生的平均分:\n");for(i=0;i<10;i++){for(j=0;j<5;j++){if(a[i][j]>max)max=a[i][j];sum+=a[i][j];}printf("NO.%d%d\n",i,sum/5);sum=0;}printf("每门课程的平均分:\n");for(j=0;j<5;j++){for(i=0;i<10;i++){sum+=a[i][j];if(a[i][j]==max){b[0]=i;b[1]=j;}}printf("科目%d:%d\n",j,sum/10);sum=0;}printf("最高分数所对应的学生:NO.%d,最高分数所对应的课程:科目%d",b[0],b[1]);}intmain(){voidscore();getch();printf("\n");return0;}六、运行结果及分析 1、 2、 3、 4、七、结论与体会(在上机程序调试中遇到的问题、采用的解决办法、得到的收获)通过与C函数的学习,让我体会到了函数的引入可以减少程序目标代码的简便性。不过函数的学习需要细心与耐心,其定义与调用的方法需要仔细斟酌。函数分为库函数和用户定义函数,库函数是C系统提供的,可以直接调用,而用户定义函数则是用户自己设计的函数。函数的参数分为形

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论