华中科技大学c++第5次上机作业(3)

2019-08-20 18:44

定义一个一维数组,输入数组的值,引用第一个函数,求得最大值和最小值的下标 通过下标输出最大值和最小值。

3) 调试过程的记载(包括出现的错误,以及修改?)

开始时求最大值和最小值的下标时出现错误。 4) 归纳本题应用的知识点或算法 函数的定义与调用

函数需要返回多个值的做法 数组的相关知识 循环语句

6)编写一个递归函数,统计任意位正整数的位数,并在主函数中输入这个整数和输出统计的结果。 要求:

1) 程序原代码。(直接粘贴在此)

#include using namespace std; int ws (int a) {

if (a>=0&&a<10) return 1; else return 1+ws(a/10); }

int main() {

int a;

cout<<\请输入一个整数\ cin>>a;

cout<<\该整数的位数为\return 0; }

2) 解决本题的算法思路描述

定义ws函数,通过整除10来求得整数的位数 Main函数中调用ws函数求得位数 输出位数

3) 调试过程的记载(包括出现的错误,以及修改?)

未出现错误

4) 归纳本题应用的知识点或算法 计算整数位数的方法 循环语句

函数的定义与调用

7)编写程序要求能对10个字符串排序,然后用折半查找的方法查询需查找的字符串。要求①排序、②查找和③两字符串的交换分别用自定义函数实现。要求:是否找到的信息只能在主函数中输出显示。

要求:

1) 程序原代码。(直接粘贴在此)

#include #include using namespace std;

void swap(char a[],char b[]); void paixu(char a[][50]);

int search(char a[][50],char searchname[]); int main() {

int i;

char searchname[50],aa[10][50]; cout<<\请输入十个字符串\ for(i=0;i<10;i++) { cin>>aa[i]; }

cout<<\请输入要查找的字符串名称\ cin>>searchname;

if((search(aa,searchname)==0)) cout<<\未查找到该字符串\ else cout<<\该字符串存在\ return 0; }

void swap(char a[],char b[]) {

char c[50]; strcpy(c,a); strcpy(a,b); strcpy(b,c); }

void paixu(char a[][50]) {

int min,i,j;

for(i=0;i<10;i++) { min=i; for(j=i;j<10;j++) { if(strcmp(a[min],a[j])>0) swap(a[min],a[j]); } } }

int search(char a[][50],char searchname[]) {

paixu(a);

int low=0,high=9,mid,m; mid=(low+high)/2;

while(low<=high&&strcmp(a[mid],searchname)!=0) { if(strcmp(a[mid],searchname)<0) low=mid+1; else high=mid-1;

mid=(low+high)/2; }

if(strcmp(a[mid],searchname)==0) m=mid+1; else m=0; return m;

}

2) 解决本题的算法思路描述 编写排序的函数 编写交换的函数 编写查找的函数 主函数

3) 调试过程的记载(包括出现的错误,以及修改?)

4) 归纳本题应用的知识点或算法 函数的定义与调用 折半查找 排序

对字符数组的处理

三、对本次实验内容及方法、手段的改进建议,以及实验心得实验心得包括:1)哪些知识点已掌握

基本掌握字符型数组的使用 循环语句的使用 指针传递

函数的声明和调用 排序算法

递归算法

2)哪些知识点有困难 折半查找不熟练 3)对讲课的建议 多进行算法的举例

4)对没有掌握知识的补救建议 多加练习关于折半查找方面的问题 对常用算法进行总结


华中科技大学c++第5次上机作业(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:自然保护区工程技术人员岗位实习周记原创范文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: