欢迎访问有用文档网!

当前位置: 有用文档网 > 心得体会 >

C语言实习报告

| 浏览次数:

 设计报告

 一,

 实验目得:

 通过上机实习, , 熟练掌握循环语句、选择语句、指针以及结构体得运用技巧。在实习中通过实际操作, , 编写程序, , 发现问题,最后解决问题, ,对 提升对 c c 语言实用性得理解, , 在实践中巩固各知识点。

 C C 语言就是一种计算机程序设计语言。它既具有高级语言得特点, , 又具有汇编语言得特点, ,上机实习可以帮助我们更好地理解这种结构式得中级语言以及其各式各样得数据类型与高效率得运算程序,为我们进一步学习C ++ 打下坚实基础。

 同时, , 在实习过程中,通过互相发现问题,共同解决问题, , 不仅锻炼了我们得合作能力 ,而且也让我们发现了一些自己得个人误区以及其她人容易犯得错误, , 从而在今后得学习中更加谨慎, , 达到事半功倍得效果; ; 通过询问老师, , 也让我们养成了不耻下问得好习惯,这将很有利于以后得学习。

 闲乐-一个人闲。不如大家一块儿乐 二,总体设计:

  1,学生成绩排名

 1 1 ,流程图: :

 ?假ﻩ

  真?

  假?

  真?

 <通过冒泡法对数组进行排序> 〈测试时由于循环语句循环次数得错误导致部分数据没有排序,修改FOR语言中得条件即可调试成功> 2, 程序:

 #include〈stdio、h> int main()

 { ,]11[a 组数个一义定//

  ;3pmet,2pmet,1pmet,c,b,t,j,i,]11[a tniﻩ用以存放学生得成绩

 printf("从键盘输入10 个学生成绩:\n");

 )++i;01<i;0=i(rofﻩ ﻩ scanf("%d”,&a[i]);

  //输入10 个学生成绩

 for(i=0;i<9;i++)

 ﻩ for(j=0;j〈9—i;j++)

 ﻩ)]1+j[a<]j[a(fiﻩ

 ﻩ {t=a[j];a[j]=a[j+1];a[j+1]=t;}

  //采用冒泡法,将学生成绩按照从高到低进行排序

  printf("10 个学生成绩数组:\n");

 for(i=0;i〈10;i++)

  printf("%5d”,a[i]);

  printf(”\n");

 ;)"n\绩成得生学个一入输再"(ftnirpﻩ

 scanf("%d",&b);

 //再输入一个学生得成绩

  ;]9[a=cﻩ if(b<c)

 //将此成绩按照排序规律插入原学生成绩数组

 ;b=]01[aﻩﻩ else

 {for(i=0;i<10;i++)

 I=0 I<11?赋值 I 由 0 变到 8 执行 9 次循环

  进行 9-I 次比较

  真

 a[j]>a[I+I]假

  a[j]

  a[j+1] 输出 a[0]到 a[9] 再输入一个学生得成绩 冒泡法排序 输出 a[0]到 a[10] I 由 0 变到 4 进行 5 次循环 a[i]

 a[10-i] I=0 I<10?输出 结束

 {if(a[i]〈b)

 {

 ;b=]i[a;]i[a=1pmetﻩ

 )++j;11〈j;1+i=j(rofﻩ

  {temp2=a[j];a[j]=temp1;temp1=temp2;

 }break;

 }ﻩ }ﻩ }

  printf(”11 个学生成绩数组:\n”);

  //输入 11 个学生成绩

  for(i=0;i<11;i++)

 ;)]i[a,"d5%"(ftnirpﻩ

 printf("\n”);

  for(i=0;i〈5;i++)

 //排好序得成绩单进行反序存放

 {

 ;]i[a=3pmetﻩﻩ

 ;]i—01[a=]i[aﻩ ;3pmet=]i—01[aﻩﻩ }

  printf(”排好序得成绩单进行反序存放为:\n");

  for(i=0;i<11;i++)

  //输出反序存放后得学生成绩数组

 ;)]i[a,"d5%"(ftnirpﻩ

 printf(”\n");

  return 0; } 3, 运行结果:

  2,根据条件进行学生成绩排名 1, 流程图: Sort1

  sort2

  ?假ﻩ

  真?

  赋值 I 由 0 变到 8 执行 9 次循环

  进行 9-I 次比较

  真

 a[j]>a[I+I]假

  a[j]

  a[j+1] 输出 a[0]到 a[9] I<10?I=0,i++ 输入 n I=0,i++ 赋值 I 由 0 变到 n-1 执行 n 次循环

  进行 n-1-I 次比较

  真

 a[j]>a[I+I]假

  a[j]

  a[j+1] 输出 a[0]到 a[n-1] I<n

  Sort3

 假? ﻩ

 假? 真?

  ?真ﻩ

  2 ,程序:

 #include〈stdio、h〉 void sort1(int a[10])

  //定义函数 {

  int i,j,t;

 ;)"n\:绩成生学个01入输"(ftnirpﻩ

 for(i=0;i<10;i++)

  scanf(”%d”,&a[i]);

  //输入 n 个学生成绩

  for(i=0;i 〈10;i++)

  //冒泡法对n个数字排序

  for(j=0;j<9-i;j++)

 ﻩﻩ if(a[j]〈a[j+1])

 ﻩﻩ {t=a[j];a[j]=a[j+1];a[j+1]=t;}

 printf("10 个学生成绩从高到低排名就是:\n");

  for(i=0;i〈10;i++)

 //输出结果

  ;)]i[a,”d5%"(ftnirpﻩ ;)”n\”(ftnirpﻩ } 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++)

 ;)]i[a&,"d%"(fnacsﻩﻩ

 for(i=0;i<n;i++)

  //冒泡法对 n 个数字排序 I<n 输入 n I=0,i++ 赋值 输入 a or d I 由 0 变到 n-1 执行 n 次循环

  进行 n-1-I 次比较

  真

 a[j]>a[I+I]假

  a[j]

  a[j+1] Style=97 Style=100 I 由 0 变到 n-1 执行 n 次循环

  进行 n-1-I 次比较

  真

 a[j]<a[I+I]假

  a[j]

  a[j+1] 输出 a[0]到 a[n-1]

 )++j;1-i-n〈j;0=j(rofﻩ

 )]1+j[a<]j[a(fiﻩﻩ

 ﻩ {t=a[j];a[j]=a[j+1];a[j+1]=t;}

  printf("n 个学生成绩从高到低排名就是:\n”);

  for(i=0;i<n;i++)

 //输出结果

  printf(”%5d",a[i]);

 printf(”\n"); } void sort3(int a[],int n, char style) {

  char c; getchar(c);

  printf(”请输入 style 类型:a or d\n");

 ;)(rahcteg=elytsﻩ printf("请输入学生个数n:\n");

 scanf("%d”,&n);

 ;)"n\:绩成生学个 n 入输"(ftnirpﻩ

 int i,j,t;

  for(i=0;i〈n;i++)

 ﻩ scanf("%d",&a[i]);

 )79==elyts(fiﻩ {

  printf("对 n 个数字升序排列为:\n”);

 数个n对法泡冒//

  )++i;n〈i;0=i(rofﻩ字升序排列

 )++j;1—i-n〈j;0=j(rofﻩﻩ ﻩ

 if(a[j]〉a[j+1])

 {ﻩ };t=]1+j[a;]1+j[a=]j[a;]j[a=tﻩ }ﻩ

 else if(style==100)

 {

  printf(”对 n 个数字降序排列为:\n”); 数个 n 对法泡冒//

  )++i;n<i;0=i(rofﻩﻩ字降序排列

  for(j=0;j〈n-i-1;j++)

 )]1+j[a<]j[a(fiﻩ

  {t=a[j];a[j]=a[j+1];a[j+1]=t;}

  }ﻩ printf("n 个学生成绩排名就是:\n”);

  for(i=0;i<n;i++)

 //输出结果

  printf("%5d”,a[i]);

 ;)"n\”(ftnirpﻩ} int main()

 //主函数 {

 {printf(”sort1:\n”);

 //调用sort1 函数

  int a[10];

 };)a(1trosﻩ{函 2tros 用调//

 ;)"n\:2tros"(ftnirpﻩ数

 int a[30000],n;

 };)n,a(2trosﻩ{

 数函 3tros 用调//

 ;)”n\:3tros"(ftnirpﻩ int a[30000],n;

 ;elyts rahcﻩ sort3(a,n,style);}

 ;0 nruterﻩ} <这个程序中输入字符时由于前面得程序得干扰,第一个输入字符语句会直接跳过,所以要另加一个空白得输入字符得语言,从而使程序中输入字符得语句能够正常运行〉 <由于数组得长度必须要定义,而且不能用变量定义,鉴于要进行比较得数据量n就是一个整形得数,定义数组为一个较长数组即可> 3 ,运行结果:

 3,用指针优化学生成绩排名 1 , 流程图:

 So rt

  copy

  main

  2, 程序:

 #include<stdio、h> #include<string、h> v o id s o r t ( i n t

 * p )

 //定义函数 sort {

 //将成绩数组按照从高到低进行排序,要求用函数实现

 int i,j,t;

 for(i=0;i<9;i++)

 )++j;i-9<j;0=j(rofﻩﻩ ﻩ

 ))1+j+p(*〈)j+p(*(fiﻩ

 { };t=)1+j+p(*;)1+j+p(*=)j+p(*;)j+p(*=tﻩ} v o i d

 c opy(c h ar

 * a,cha r

 *b )

  //定义函数copy

  {

 for(;*a!=’\0’;a++,b++)

  // 复制该字符串,用函数实现

 { *b=*a;} * ;’0\’=bﻩ} int main()

 { 义定 //

 ;p*,]01[uts,t,j,i tniﻩ一个数组 stu[10]存放 10 个学生得成绩

  p=stu;

 ;)”n\:据数个 01 入输请”(ftnirpﻩ键从//

 )++i;01<i;0=i(rofﻩ盘输入数据,用指针实现

 ﻩ scanf("%d",p+i);

 printf("数组stu[10]得内容为:\n"); 将//

 )++i;01<i;0=i(rofﻩ数组stu[10]得内容输出到屏幕上,用指针实现

 ﻩ printf("%5d",*(p+i));

 printf(”\n”); 成将//

  )++i;9<i;0=i(rofﻩ绩数组按照从高到低进行排序,用指针实现

  for(j=0;j<9—i;j++)

 if(*(p+j)<*(p+j+1))

 {ﻩ};t=)1+j+p(*;)1+j+p(*=)j+p(*;)j+p(*=tﻩ printf(”成绩数组按照从高到低进行排序为:\n");

  p=stu;

  for(i=0;i〈10;i++)

  printf("%5d",*(p+i));

 ;)”n\"(ftnirpﻩ ;uts=pﻩ sort(p);

  //调用函数 sort

  ;)”n\:为现实中数函在放容内步三第"(ftnirpﻩ

 for(i=0;i〈10;i++)

  printf(”%5d",*(p+i));

 ;)"n\”(ftnirpﻩ printf(”采用指针方法,输入字符串 student score: \n");

 char *a=”student score”;

 char b[14]; 调//

  ;)b,a(ypocﻩ用函数 copy

 ;)b,”n\s%”(ftnirpﻩ return 0; } <指针得传递就是双向得,在赋值中有多种方法,比如说对数组直接赋值,或者直接对指针变量进行赋值> 〈复制该字符串,用函数实现时就是用循环语句把一个字符串得每一个字符赋值给另一个字符串〉 3 , 运行结果:

 4,学生成绩单制作 1 , 流程图:

  〈结构体语言具有简洁,方便,模块化得特点,在初始化及输出过程中要注意输入输出方式> 〈在输入字符串得时候,输入语句中不应有&〉 2 , 程序: #include<stdio、h> St r uctS t u d ent

 //定义结构体

 { Return 0

 ;]01[rebmun rahcﻩ

 ;]01[eman rahcﻩ 3[erocs tniﻩﻩ

 ﻩ ];

  ;egareva taolfﻩ }student[10]; int main()

 {

 ;t,j,i tniﻩfﻩ o r(i=0;i<10;i + + )

 //初始化结构体

 {printf(”\n 输入student%d 成绩:\n",i+1);

 ;)":rebmun"(ftnirpﻩ ;)rebmun、]i[tneduts,"s%”(fnacsﻩﻩ p ri n tf ( "name:") ;

 //存放 10 个学生得学号,姓名,三门课得成绩

 ;)eman、]i[tneduts,"s%"(fnacsﻩ )++j;3<j;0=j(rofﻩ {printf("score %d:",j+1);

 ;)]j[erocs、]i[tneduts&,"d%”(fnacsﻩ }

 student[i]、average=(student[i]、score[0]+student[i]、score[1]+student[i]、score[2])/3、0;

 printf("average:%f",student[i]、average);

  }

 printf("\n");

 ;)"n\:绩成得程课门该及以、名姓、号学得生学得高最绩成学数出输"(ftnirpﻩ//输出单门课成绩最高得学生得学号、姓名、以及该门课程得成绩 gareva_xam,0=hsilgne_xam,0=esenihc_xam,0=htam_xam,0=xam tniﻩe=0,max_i=0;

 for(i=0;i<10;i++)

 {ﻩ )]0[erocs、]i[tneduts<htam_xam(fiﻩﻩ { ;]0[erocs、]i[tneduts=htam_xamﻩﻩ };i=i_xamﻩﻩ }

  printf(”number=%s,name=%s,max_math=%d\n",student[max_i]、number,student[max_i]、name,student[max_i]、score[0]);

  printf(”输出中文成绩最高得学生得学号、姓名、以及该门课程得成绩:\n");

 for(i=0;i<10;i++)

 {

  if(max_chinese〈student[i]、score[1])

 ﻩ{ ;]1[erocs、]i[tneduts=esenihc_xamﻩ };i=i_xamﻩﻩ

  }

  printf(”number=%s,name=%s,max_chinese=%d\n",student[max_i]、number,student[max_i]、name,student[max_i]、score[1]);

  printf("输出中文成绩最高得学生得学号、姓名、以及该门课程得成绩:\n");

 for(i=0;i<10;i++)

 {

  )]2[erocs、]i[tneduts〈hsilgne_xam(fiﻩ { ;]0[erocs、]i[tneduts=hsilgne_xamﻩ

 max_i=i;}

 }ﻩ

 printf("number=%s,name=%s,max_english=%d\n”,student[max_i]、number,student[max_i]、name,student[max_i]、score[2]);

  printf("输出三门课程得平均分数最高得学生得学号、姓名及其平均分:\n");

  //输出三门课程得平均分数最高得学生得学号、姓名及其平均分

  for(i=0;i〈10;i++)

 {

  if(max_average〈student[i]、average)

 ﻩ{ ;egareva、]i[tneduts=egareva_xamﻩ

 };i=i_xamﻩ }

  printf(”number=%s,name=%s,max_average=%f\n",student[max_i]、number,student[max_i]、name,student[max_i]、average);

 for ( i=0 ; i<9; i ++)

  //将 10 个学生按照平均分数从高到低进行排序

 )++j;i-9<j;0=j(rofﻩﻩ ﻩﻩ if(student[j]、average<student[j+1]、average)

 {t=student[j]、average;student[j]、average=student[j+1]、average;student[j+1]、average=t;}

  printf("

  number

  name

  math

  Chinese

  English

 average\n");

  for( i =0;i 〈 10;i+ + )

 //输出排序后得结果

  printf("%8s%8s%9d%9d%9d

 %6、2f\n",student[i]、number,student[i]、name,student[i]、score[0],student[i]、score[1],student[i]、score[2],student[i]、average);

  return 0; 3, 运行结果:

推荐访问:实习报告 语言

上一篇:廉政中国观后感

下一篇:银行廉政谈话

热门排行Top Ranking

新时代青年的奋斗精神心得体会5篇

新时代青年的奋斗精神心得体会5篇新时代青年的奋斗精神心得体会篇1为进一步弘扬爱国奋斗奉献精神,激励党

XX乡镇防止返贫致贫监测和帮扶工作方案

XX乡镇防止返贫致贫监测和帮扶工作方案 为认真落实党的十九届四中全会关于“坚决打赢脱贫攻

坚持总体国家安全观心得体会250字8篇

坚持总体国家安全观心得体会250字8篇坚持总体国家安全观心得体会250字篇1“安而不忘危,存而不忘亡

宣传部部长心得体会15篇

宣传部部长心得体会15篇宣传部部长心得体会篇1首先,感谢领导给我这次评选优秀员工的机会,也感谢您能在

管理信息系统案例

第一章 信息系统与管理 案例((或实例) 得讨论题及点评((或回答)) [实例]利润计划工作中得反复

大学生体育课心得体会1500字5篇

大学生体育课心得体会1500字5篇大学生体育课心得体会1500字篇1不知不觉,进入大学第一个学期的体

餐饮单位疫情防控工作汇报

餐饮单位疫情防控工作汇报根据省、市、区疫情防控指挥部统一部署,严格落实《省市场监督管理局关于进一步加

党支部党建工作年度台账-基层党建工作台账

党支部党建工作年度台账::基层党建工作台账 党支部党建工作年度台账说明为抓好党建工作,根据《党章》《

党员的时代楷模心得体会12篇

党员的时代楷模心得体会12篇党员的时代楷模心得体会篇1@党员干部“打工攻略”请查收一年一度的“双十一

公文格式国家标准

公文格式国家标准 1范围 本标准规定了党政机关公文通用的纸张要求、排版和印制装订要求、公文格式各要素

内勤辅警先进事迹材料

内勤辅警先进事迹材料3篇 内勤辅警先进事迹材料1 办公室工作室一项既辛苦、又清苦的脑力劳动,他没有惊

傅雷家书阅读心得及感悟10篇

傅雷家书阅读心得及感悟10篇傅雷家书阅读心得及感悟篇1一连几天,我都沉浸在《傅雷家书》这本书中,感受