C语言实习报告参考模板_第1页
C语言实习报告参考模板_第2页
C语言实习报告参考模板_第3页
C语言实习报告参考模板_第4页
C语言实习报告参考模板_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 设计报告一, 实验目的:通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知识点。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上机实习可以帮助我们更好地理解这种结构式的中级语言以及其各式各样的数据类型和高效率的运算程序,为我们进一步学习C+打下坚实基础。同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而且也让我们发现了一些自己的个人误区以及其他人容易犯的错误,从而在今后的学习中更加谨慎,达到事半功倍的效果;通过询问老

2、师,也让我们养成了不耻下问的好习惯,这将很有利于以后的学习。闲乐-一个人闲。不如大家一块儿乐http:/www.xlw.cc1 / 19二,总体设计: 1,学生成绩排名1,流程图:I=0 再输入一个学生的成绩I<10?假?冒泡法排序ai a10-iI由0变到4进行5次循环输出a0到a10shu输出a0到a9I由0变到8执行9次循环 进行9-I次比较 真 aj>aI+I假 aj aj+1赋值真?I=0 输出I<11? 假? 结束 真? <通过冒泡法对数组进行排序><测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>

3、2,程序:#include<stdio.h>int main()int a11,i,j,t,b,c,temp1,temp2,temp3; /定义一个数组a11,用以存放学生的成绩printf("从键盘输入10个学生成绩:n");for(i=0;i<10;i+)scanf("%d",&ai); /输入10个学生成绩for(i=0;i<9;i+)for(j=0;j<9-i;j+)if(aj<aj+1)t=aj;aj=aj+1;aj+1=t; /采用冒泡法,将学生成绩按照从高到低进行排序 printf("1

4、0个学生成绩数组:n");for(i=0;i<10;i+)printf("%5d",ai); printf("n");printf("再输入一个学生的成绩n"); scanf("%d",&b); /再输入一个学生的成绩 c=a9;if(b<c) /将此成绩按照排序规律插入原学生成绩数组a10=b;else for(i=0;i<10;i+) if(ai<b) temp1=ai;ai=b; for(j=i+1;j<11;j+) temp2=aj;aj=temp1;temp

5、1=temp2; break; printf("11个学生成绩数组:n"); /输入11个学生成绩 for(i=0;i<11;i+) printf("%5d",ai); printf("n"); for(i=0;i<5;i+) /排好序的成绩单进行反序存放temp3=ai;ai=a10-i;a10-i=temp3; printf("排好序的成绩单进行反序存放为:n"); for(i=0;i<11;i+) /输出反序存放后的学生成绩数组 printf("%5d",ai); pri

6、ntf("n"); return 0;3,运行结果:2,根据条件进行学生成绩排名1,流程图:I=0,i+输入nSort1 sort2I=0,i+I<10?假?I<n输出a0到a9I由0变到8执行9次循环 进行9-I次比较 真 aj>aI+I假 aj aj+1赋值真?赋值I由0变到n-1执行n次循环 进行n-1-I次比较 真 aj>aI+I假 aj aj+1 输出a0到an-1 Style=97赋值I<nI=0,i+输入n Sort3假?Style=100假?真?真?I由0变到n-1执行n次循环 进行n-1-I次比较 真 aj<aI+I假

7、aj aj+1I由0变到n-1执行n次循环 进行n-1-I次比较 真 aj>aI+I假 aj aj+1输入a or d输出a0到an-12,程序: #include<stdio.h>void sort1(int a10) /定义函数 int i,j,t;printf("输入10个学生成绩:n"); for(i=0;i<10;i+)scanf("%d",&ai); /输入n个学生成绩 for(i=0;i<10;i+) /冒泡法对n个数字排序for(j=0;j<9-i;j+)if(aj<aj+1)t=aj;a

8、j=aj+1;aj+1=t; printf("10个学生成绩从高到低排名是:n"); for(i=0;i<10;i+) /输出结果 printf("%5d",ai); printf("n"); void sort2(int a,int n) /定义函数int i,j,t; printf("请输入学生个数n:n"); scanf("%d",&n); printf("输入n个学生成绩:n"); for(i=0;i<n;i+)scanf("%d&quo

9、t;,&ai); for(i=0;i<n;i+) /冒泡法对n个数字排序for(j=0;j<n-i-1;j+)if(aj<aj+1)t=aj;aj=aj+1;aj+1=t; printf("n个学生成绩从高到低排名是:n"); for(i=0;i<n;i+) /输出结果 printf("%5d",ai); printf("n");void sort3(int a,int n, char style) char c; getchar(c); printf("请输入style类型:a or dn&

10、quot;);style=getchar();printf("请输入学生个数n:n");scanf("%d",&n);printf("输入n个学生成绩:n"); int i,j,t; for(i=0;i<n;i+)scanf("%d",&ai);if(style=97) printf("对n个数字升序排列为:n");for(i=0;i<n;i+) /冒泡法对n个数字升序排列 for(j=0;j<n-i-1;j+)if(aj>aj+1)t=aj;aj=aj+

11、1;aj+1=t; else if(style=100) printf("对n个数字降序排列为:n");for(i=0;i<n;i+) /冒泡法对n个数字降序排列 for(j=0;j<n-i-1;j+)if(aj<aj+1)t=aj;aj=aj+1;aj+1=t; printf("n个学生成绩排名是:n"); for(i=0;i<n;i+) /输出结果 printf("%5d",ai); printf("n");int main() /主函数 printf("sort1:n&quo

12、t;); /调用sort1函数 int a10;sort1(a);printf("sort2:n"); /调用sort2函数int a30000,n;sort2(a,n);printf("sort3:n"); /调用sort3函数 int a30000,n;char style;sort3(a,n,style);return 0;<这个程序中输入字符时由于前面的程序的干扰,第一个输入字符语句会直接跳过,所以要另加一个空白的输入字符的语言,从而使程序中输入字符的语句能够正常运行><由于数组的长度必须要定义,而且不能用变量定义,鉴于要进行比

13、较的数据量n是一个整形的数,定义数组为一个较长数组即可>3,运行结果: 3,用指针优化学生成绩排名1, 流程图:Sort copy main 2,程序:#include<stdio.h>#include<string.h>void sort(int *p) /定义函数sort /将成绩数组按照从高到低进行排序,要求用函数实现int i,j,t;for(i=0;i<9;i+)for(j=0;j<9-i;j+)if(*(p+j)<*(p+j+1)t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;void copy(char *a

14、,char *b) /定义函数copy for(;*a!='0'a+,b+) / 复制该字符串,用函数实现 *b=*a;*b='0'int main()int i,j,t,stu10,*p; / 定义一个数组stu10存放10个学生的成绩 p=stu;printf("请输入10个数据:n"); for(i=0;i<10;i+) /从键盘输入数据,用指针实现scanf("%d",p+i);printf("数组stu10的内容为:n");for(i=0;i<10;i+) /将数组stu10的内容

15、输出到屏幕上,用指针实现printf("%5d",*(p+i);printf("n");for(i=0;i<9;i+) /将成绩数组按照从高到低进行排序,用指针实现for(j=0;j<9-i;j+)if(*(p+j)<*(p+j+1)t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;printf("成绩数组按照从高到低进行排序为:n"); p=stu; for(i=0;i<10;i+)printf("%5d",*(p+i);printf("n");p

16、=stu;sort(p); /调用函数sortprintf("第三步内容放在函数中实现为:n"); for(i=0;i<10;i+)printf("%5d",*(p+i);printf("n");printf("采用指针方法,输入字符串student score: n");char *a="student score"char b14;copy(a,b); /调用函数copyprintf("%sn",b);return 0;<指针的传递是双向的,在赋值中有多种方法

17、,比如说对数组直接赋值,或者直接对指针变量进行赋值><复制该字符串,用函数实现时是用循环语句把一个字符串的每一个字符赋值给另一个字符串>3, 运行结果:4,学生成绩单制作1, 流程图: Return 0 <结构体语言具有简洁,方便,模块化的特点,在初始化及输出过程中要注意输入输出方式><在输入字符串的时候,输入语句中不应有&>2, 程序:#include<stdio.h>StructStudent /定义结构体char number10;char name10;int score3;float average;student10;i

18、nt main()int i,j,t;for(i=0;i<10;i+) /初始化结构体printf("n输入student%d成绩:n",i+1);printf("number:");scanf("%s",studenti.number);printf("name:"); /存放10个学生的学号,姓名,三门课的成绩scanf("%s",);for(j=0;j<3;j+)printf("score %d:",j+1);scanf("

19、;%d",&studenti.scorej);studenti.average=(studenti.score0+studenti.score1+studenti.score2)/3.0;printf("average:%f",studenti.average); printf("n"); printf("输出数学成绩最高的学生的学号、姓名、以及该门课程的成绩:n"); /输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩int max=0,max_math=0,max_chinese=0,max_englis

20、h=0,max_average=0,max_i=0; for(i=0;i<10;i+)if(max_math<studenti.score0)max_math=studenti.score0;max_i=i; printf("number=%s,name=%s,max_math=%dn",studentmax_i.number,studentmax_,studentmax_i.score0); printf("输出中文成绩最高的学生的学号、姓名、以及该门课程的成绩:n");for(i=0;i<10;i+)if(max_chi

21、nese<studenti.score1)max_chinese=studenti.score1;max_i=i; printf("number=%s,name=%s,max_chinese=%dn",studentmax_i.number,studentmax_,studentmax_i.score1); printf("输出中文成绩最高的学生的学号、姓名、以及该门课程的成绩:n");for(i=0;i<10;i+)if(max_english<studenti.score2)max_english=studenti.score0;max_i=i; printf("number=%s,name=%s,max_english=%dn",studentmax_i.number,studentmax_,studentmax_i.score2); p

温馨提示

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

评论

0/150

提交评论