软件技术基础2实验任务5带解答.docx
- 文档编号:29873373
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:10
- 大小:197.49KB
软件技术基础2实验任务5带解答.docx
《软件技术基础2实验任务5带解答.docx》由会员分享,可在线阅读,更多相关《软件技术基础2实验任务5带解答.docx(10页珍藏版)》请在冰豆网上搜索。
软件技术基础2实验任务5带解答
软件技术基础2实验任务5带解答(总8页)
《软件技术基础2》
实验报告5
学院
专业
年级
姓名
任课教师葛卫民
实验指导葛卫民
年月日
实验五
一、实验目的
通过本试验,使学生深入理解函数的概念及基本语法;掌握递归函数的使用方法;理解变量的作用域和生存期;掌握多函数间共享数组数据的的方法。
二、实验内容
1.通过程序实例,进一步理解函数的概念、定义、调用及参数传递机制等基本语法;理解递归函数的执行机制;理解多函数间传递数组的机制。
2.编写教材第四章习题中11、15、17要求的程序,并完成上机调试的实验任务。
其中的第11题要求用递归和非递归两种方法实现;第17题要求用一个程序包含多个函数的方法实现。
三、实验准备
1.复习第四章的内容,重点是、、、节的内容及相关例题;
2.编写教材第四章习题中11、15、17要求的程序。
四、实验任务
任务一:
第11题非递归方法
1.内容:
编写一个函数delchar(char*s1,chars2),从字符串s1中删去与字符s2相同的字符。
用main()测试该函数。
2.源程序:
#include
usingnamespacestd;
voiddelchar(char*s1,chars2);
intmain()
{chars1[100];
chars2;
cout<<"输入字符串s1:
";cin>>s1;
cout<<"输入字符串s2:
";cin>>s2;
delchar(s1,s2);
return0;
}
voiddelchar(char*s1,chars2)
{
for(inti=0;*(s1+i)!
='\0';i++)
{
if(*(s1+i)==s2)
{
for(intj=0;*(s1+i+j)!
='\0';j++)
{
*(s1+i+j)=*(s1+i+j+1);
}
}
}
cout< } 3.运行结果: 4.实验中遇到的主要问题及解决方法 任务二: 第11题递归方法 1.内容: 编写一个函数delchar(char*s1,chars2),从字符串s1中删去与字符s2相同的字符。 用main()测试该函数。 2.源程序: #include usingnamespacestd; char*delchar(char*s1,chars2); intmain() {chars1[100]; chars2; cout<<"输入字符串s1: ";cin>>s1; cout<<"输入字符串s2: ";cin>>s2; delchar(s1,s2); cout< return0; } char*delchar(char*s1,chars2) { inti=0; if(*(s1+i)! ='\0') { if(*(s1+i)==s2) { for(intj=0;*(s1+i+j)! ='\0';j++) { *(s1+i+j)=*(s1+i+j+1); } } delchar(s1+1,s2); } returns1; } 3.运行结果: 4.实验中遇到的主要问题及解决方法 任务三: 第15题 1.内容: 编写函数intfind(chara[],charch),从一个字符串中找出某个字符第一次出现的位置。 例如字符串“computerlanguage”中字母”u”第一次出现的位置为5.若没有该字符,返回0,否则该函数返回出现的位置。 2.源程序: #include<> intfind(charstr[],chara); intmain() { charstr[100],a; cin>>str>>a; cout< return0; } intfind(charstr[],chara) { for(inti=0;str[i]! ='\0';i++) { if(str[i]==a) { returni; break;} } if(str[i]=='\0')return-1; } 3.运行结果: 4.实验中遇到的主要问题及解决方法 任务四: 第17题 1.设有30个学生参加考试,学号从1到30.分别编写以下函数: (1)将考试成绩大于85分的学生的的学好和成绩输出; (2)将60分一下的学生的学好和成绩输出; (3)统计大于或等于平均分的人数; (4)将30个学生成绩按由高分到低分排列,输出排列好的成绩及每个成绩对应的学号。 2.源程序: #include<> voidyouxiu(inta[]); voidbujige(inta[]); voiddayu(inta[]); voidpaixu(inta[]); voidmain() {inta[30]; cout<<"请按学号输入学生的成绩"< for(inti=0;i<30;i++)cin>>a[i]; youxiu(a); bujige(a); dayu(a); paixu(a); } voidyouxiu(inta[]) {cout<<"成绩大于等于85分的学生: "< inti(0); for(i;i<30;i++) {if(a[i]>=85)cout<<"学号是: "< "< } } voidbujige(inta[]) {cout< cout<<"成绩不及格的学生: "< inti(0); for(i;i<30;i++) {if(a[i]<60)cout<<"学号是: "<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 基础 实验 任务 解答