软件技术基础实验任务带解答_第1页
软件技术基础实验任务带解答_第2页
软件技术基础实验任务带解答_第3页
软件技术基础实验任务带解答_第4页
软件技术基础实验任务带解答_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、软件技术基础2实验报告5学 院 专 业 年 级 姓 名 任课教师 葛卫民 实验指导 葛卫民 年 月 日实验五一、 实验目的通过本试验,使学生深入理解函数的概念及基本语法;掌握递归函数的使用方法;理解变量的作用域和生存期;掌握多函数间共享数组数据的的方法。二、 实验内容1通过程序实例,进一步理解函数的概念、定义、调用及参数传递机制等基本语法;理解递归函数的执行机制;理解多函数间传递数组的机制。2编写教材第四章习题中11、15、17要求的程序,并完成上机调试的实验任务。其中的第11题要求用递归和非递归两种方法实现;第17题要求用一个程序包含多个函数的方法实现。三、 实验准备1 复习第四章的内容,重

2、点是4.4、4.5、4.11、4.12节的内容及相关例题;2 编写教材第四章习题中11、15、17要求的程序。四、 实验任务任务一:第11题非递归方法1内容:编写一个函数delchar(char*s1,chars2),从字符串s1中删去与字符s2相同的字符。用main()测试该函数。 2源程序:#include <iostream>using namespace std;void delchar(char *s1,char s2);int main()char s1100;char s2; cout<<"输入字符串s1:"cin>>s1;

3、 cout<<"输入字符串s2:"cin>>s2; delchar(s1,s2); return 0;void delchar(char *s1,char s2)for (int i=0;*(s1+i)!='0'i+)if (*(s1+i)=s2)for (int j=0;*(s1+i+j)!='0'j+) *(s1+i+j)=*(s1+i+j+1); cout<<s1;3 运行结果:4实验中遇到的主要问题及解决方法任务二:第11题递归方法1内容:编写一个函数delchar(char*s1,chars2),

4、从字符串s1中删去与字符s2相同的字符。用main()测试该函数。 2源程序:#include <iostream>using namespace std;char* delchar(char *s1,char s2);int main()char s1100;char s2; cout<<"输入字符串s1:"cin>>s1; cout<<"输入字符串s2:"cin>>s2; delchar(s1,s2); cout<<s1; return 0;char* delchar(char

5、*s1,char s2)int i=0;if(*(s1+i)!='0')if (*(s1+i)=s2)for (int j=0;*(s1+i+j)!='0'j+) *(s1+i+j)=*(s1+i+j+1); delchar(s1+1,s2); return s1;3.运行结果:4.实验中遇到的主要问题及解决方法任务三:第15题1内容:编写函数 int find(char a,char ch),从一个字符串中找出某个字符第一次出现的位置。例如字符串“computer language”中字母”u”第一次出现的位置为5.若没有该字符,返回0,否则该函数返回出现的位

6、置。 2源程序:#include <iostream.h>int find(char str,char a);int main()char str100,a;cin>>str>>a;cout<<find(str,a)+1;return 0; int find(char str,char a)for (int i=0;stri!='0'i+)if (stri=a) return i;break;if (stri='0') return -1;3.运行结果:4. 实验中遇到的主要问题及解决方法任务四:第17题1. 设有

7、30个学生参加考试,学号从1到30.分别编写以下函数:(1) 将考试成绩大于85分的学生的的学好和成绩输出;(2) 将60分一下的学生的学好和成绩输出;(3) 统计大于或等于平均分的人数;(4) 将30个学生成绩按由高分到低分排列,输出排列好的成绩及每个成绩对应的学号。2. 源程序:# include<iostream.h>void youxiu(int a);void bujige(int a);void dayu(int a);void paixu(int a);void main()int a30;cout<<"请按学号输入学生的成绩"<

8、<endl;for(int i=0;i<30;i+) cin>>ai;youxiu(a);bujige(a);dayu(a);paixu(a);void youxiu(int a)cout<<"成绩大于等于85分的学生:"<<endl;int i(0);for(i;i<30;i+)if(ai>=85) cout<<"学号是:"<<i+1<<"的学生成绩是:"<<ai<<endl;void bujige(int a)c

9、out<<endl;cout<<"成绩不及格的学生:"<<endl;int i(0);for(i;i<30;i+)if(ai<60) cout<<"学号是:"<<i+1<<"的学生成绩是:"<<ai<<endl;void dayu(int a)cout<<endl;int s(0),z(0);for(int i=0;i<30;i+)s+=ai;s=s/30;for(int j=0;j<30;j+)if(a

10、j>=s) z+=1;cout<<"平均分是:"<<s<<endl;cout<<"成绩大于等于平均数的人数是:"<<z<<endl;void paixu(int a)int c,d;char b30;for(int r=0;r<30;r+) br=ar;for (int i=0;i<30;i+)for (int j=0;j<30-i-1;j+)if(aj<=aj+1)c=aj;aj=aj+1;aj+1=c;for(int z=0;z<30;z+)for(i

温馨提示

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

评论

0/150

提交评论