




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级语言程序设计n»上机实验报告班级 :物联170*学号:17116304*姓名 :* 日期: 2018.4.20一、实验名称字符串的应用二、实验目的1、通过实验,理解字符串常量和变量;2、学习字符串处理的常用算法;3、学习字符指针和字符数组访问字符串的用法;4、学习模块化程序设计方法三、实验内容:教材226页第八章实验题1. 录入一个班不超过30人(具体人数由键盘输入)的学号、姓名和某门课程考试成绩;2. 按成绩由高到低排出名次表;3. 按学号由小到大排出成绩表;4. 按姓名查询学生在名次表中的名次及成绩;5. 输出所有学生的学号、姓名和考试成绩;6. 按教材提示输出菜单,允许用户
2、根据菜单选择要做的事情。四、主要源代码说明说明: 此处节选主要源代码进行说明,对主要变量的含义进行描述,对主要语句说明其含义;/这一段进行函数的声明#include<stdio.h>#include<string.h>#define N 30int ReadScore(long num口,char nameN,int score);录入成绩void DateSort(int score,char nameN,long num,int n);/ 按成绩排名void PrintScore(int score,char nameN,long num,int n); / 打印成
3、绩void xuehaoSort(int score,long num口,int n);按学号排名 int LinSearch(long num,char nameN,long x,int n);/ 按名字搜素 int DataSort(int score,long num,int n);/主函数通过 do while 实行多次选择的功能并用if 语句进行功能选择int main()int scoreN;long numN,r;/r 为要查找的学号int n,k;/人数排名int x;/序数int pos;/查找char nameNN;printf("1.输入成绩n2.按成绩由大到小
4、输出排名n3.按学号由小到大排名 n4.按姓名查询学生在名次表中的名次及成绩n");printf("5.输出所有学生的学号,姓名和考试成绩n6.结束程序n");printf("n");doprintf("Please enter your choice:n");scanf("%d",&x);if(x=1)n=ReadScore(num,name,score);printf("n");if(x=2)DateSort(score,name,num,n);printf("学
5、号姓名 成绩:n");PrintScore(score,name,num,n);printf("n");if(x=3)xuehaoSort(score,num,n);printf("学号姓名 成绩:n");PrintScore(score,name,num,n);printf("n");if(x=4)printf(" 请输入学号:n");scanf("%d",&r);pos=LinSearch(num,name,r,n);k=DataSort(score,num,n);if(p
6、os!=-1)printf(" 姓 名 %sn 分 数 =%dn 排 名 =%dn",namepos,scorepos,k);elseprintf("Not found!");printf("n");if(x=5)PrintScore(score,name,num,n);printf("n");if(x=6)return 0;while(x!=0);return 0;/录入成绩的函数int ReadScore(long num,char nameN,int score)int n;/人数int i=-1;print
7、f(" 请输入学生人数:n");scanf("%d",&n);/获取学生人数getchar();doi+;printf(" 请输入 学号 姓名 成绩 :n");scanf("%d %s %d",&numi,namei,&scorei);/ 获取学号姓名 成绩while(i<n-1);return n;/返回学生人数到主函数/按成绩由大到小排名void DateSort(int score,char nameN,long num,int n)int i,j,temp;long tttt;
8、char namemmN;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(scorej>scorei)temp=scorej;scorej=scorei;scorei=temp;tttt=numj;numj=numi;numi=tttt;strcpy(namemm,namej);strcpy(namej,namei);strcpy(namei,namemm); /利用strcpy 进行 字符串的交换/按名字寻找成绩和排名int DataSort(int score,long num,int n)int i,j,temp;long tttt;for(i
9、=0;i<n-1;i+)for(j=i+1;j<n;j+)if(scorej>scorei)temp=scorej;scorej=scorei;scorei=temp;tttt=numj;numj=numi;numi=tttt;return i;/按学号由小到大排名void xuehaoSort(int score,long num,int n)int i,j,temp;long tttt;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(numj<numi)temp=scorej;scorej=scorei;scorei=temp;
10、tttt=numj;numj=numi;numi=tttt;/打印学生成绩void PrintScore(int score,char nameN,long num,int n) int i;for(i=0;i<n;i+)printf("%ld %s %dn",numi,namei,scorei);printf("n");/按名字查找iint LinSearch(long num,char nameN,long x,int n)int i;for(i=0;i<n;i+)if(numi=x) return i;return -1;五、实验结果分析说明: 此处需要写明实验中遇到的问题及解决方法;以截图的形式书写实验运行结果。六、总结说明:此处书写本次实验的收获和遗留问题本次实验出现的问题(已解决):在名字的输出的时候我用了name, 没有删掉后面的导致输出为NULL,得知在输入和输出的时候都不能加第二个。本次实验的收获:练习了字符串的处理和一些函数,如strcpy。说明: 1)实验报告格式、字体要统一;2)关于第四项(主要源代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程建筑劳务分包协议范本
- 合同签订的法律依据解析3篇
- 合同条款修改协议3篇
- 关于调解协议书范文集合3篇
- 住宅小区土方供应3篇
- 弱电监控系统建设项目招标3篇
- 空调器个性化定制服务考核试卷
- 木材标准化尺寸与加工适应性考核试卷
- 竹材采运企业社会责任与公益事业考核试卷
- 美容仪器产品的市场潜力评估与分析考核试卷
- 啤酒采购合同协议书模板
- 中医把脉入门培训课件
- 高血糖症的急救与护理
- 成人失禁性皮炎的预防与护理
- 技术信息收集与分析方法考核试卷
- 小学2025年国防教育课程开发计划
- 2025届安徽省示范高中皖北协作区高三下学期一模考试英语试题(原卷版+解析版)
- 防溺水家长测试题及答案
- 义务教育数学课程标准(2024年版)
- 三年级下册面积单位换算练习100道及答案
- 住宅项目开盘前工作倒排表
评论
0/150
提交评论