- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用指针优化学生成绩排名
课题一:用指针优化学生成绩排名
一、目的
1.熟悉变量的指针和指向变量的的指针变量的概念和使用
2.熟悉数组的指针和指向数组的的指针变量的概念和使用
3. 掌握冒泡法或选择法排序的算法
4. 掌握函数的定义、调用、声明,以及参数的两种传递方式
二、实习环境
个人计算机,Windows操作系统,Turbo C 2.0或 WinTC或Visual C++等编译开发环境
三、实习内容、步骤与要求
1.定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现
2.将数组stu[10]的内容输出到屏幕上,要求用指针实现
3.将成绩数组按照从高到低进行排序,要求用指针实现
4.将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单
5. 采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)
6.在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段运行结果(屏幕截图)。
7. 在实习报告中说明知识点。
8.在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会。
四、程序代码
#includestdio.h
#includestring.h
main()
{
void sort(int stu[]) ;
void stuscore() ;
void strs() ;
strs() ;
printf(\n\n) ;
stuscore() ;
getch();
}
void sort(int stu[])
{
int i,j ,t;
for(i = 0;i 9;i ++)
for(j = i + 1;j 10;j ++)
if(stu[i] stu[j])
{
t = stu[i] ;
stu[i] = stu[j] ;
stu[j] = t ;
}
}
void strs()
{
char *pstr ;
char str1[80],str2[80],ch ;
pstr = str1 ;
printf(Input a string:\n) ;
while((ch = getchar()) != \n)
{
*pstr = ch ;
pstr ++ ;
}
strcpy(str2,str1) ;
printf(Copy the string and output:\n) ;
puts(str2) ;
}
void stuscore()
{
int stu[10] ;
int *p ;
int i ;
printf(Input ten studentsscore :\n) ;
for(p = stu,i = 0;i 10;i ++,p ++)
scanf(%d,p) ;
printf(Output the scores :\n) ;
for(p = stu,i = 0;i 10;i ++,p ++)
printf(%3d ,*p) ;
printf(\n) ;
sort(stu) ;
printf(Output the scores after sort:\n) ;
for(p = stu,i = 0;i 10;i ++,p ++)
printf(%3d ,*p) ;
printf(\n\n\n) ;
}
程序流程图
程序运行结果
程序知识点
1.选择排序法
2.指针的指向与作为函数参数的地址传递
3.基本库函数的调用
心得体会
这项课程设计联系了一些基本的东西,比方说上学期学的选择排序法,只不过与指针这个知识点串联,造成了一定的困难,通过对比数组与指针的类似处,我了解了指针的指向问题,也更加明白了数组作为参数时的地址传递,让我更加融会贯通了这两个知识点。程序的后半部分需要对字符串作一定处理,我通过调用了一个库函数让程序变得更加简便,了解了调用库函数的好处,可以省时省力。
char*pstr
ch! = \n
*pstr=ch pstr++
strcpy(str2,str1) puts(str2)
intstu[10];
p=stu,i=0
i10
i++,p++
printf(Output the scores :\
您可能关注的文档
- 5.关于开展评选文明班组、文明个人、文明家庭的实施方案.doc
- 李观仪 3-3 new.ppt
- 李观仪 3-1 new.ppt
- 计算机应用基础教学大纲(理科).doc
- 2012年国民经济发展展望.doc
- 镇平移动公司学习实践科学发展观活动学习调研阶段汇报材料.doc
- 小草人生2.doc
- “转方式、正风气、提效能”活动开展情况.doc
- 由简至美的最佳论文.doc
- 决定建议.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)