二分查找、三分查找 “朝闻道”知识分享大赛

菜菜菜攻城狮 2023-12-31 15:42:42

这是我参加“朝闻道”知识分享大赛的第五十九篇文章。

 

二分查找与三分查找:确定键值mid,mid为最左下标+最右下标的和除以2,将k与A[MID]进行比对,相等时输出结果,不相等时比较大小,判断在前半部分还是后半部分,并再次对此部分进行折半查找,当没有找到对应k时,我们通过l下标去比对其附近的值和k的值,找到其最接近的值返回。三分查找思路与二分查找相似,不同点在于键值k有2个,所以对于较大数组效率会好于二分查找。若查找元素不在数组中,需要返回最接近元素,其思路和二分查找一致。查找次数为查找键与数组元素的比较次数。

//顺序查找
int SequentialSearch(int k, int &comparisons) {
    for (int i = 0; i < n; ++i) {
        ++comparisons;
        if (arr[i] == k) {
            return i;
        } else if (arr[i] > k) {
            // 元素不在数组中,返回最接近的元素位置
            if (i == 0) {
                return i;
            } else {
                //检查前一个元素是否更加接近
                return (k - arr[i-1] <= arr[i] - k) ? i-1 : i;
            }
        }
    }

    // 元素不在数组中,返回最后一个位置
    return n - 1;
}

//折半
int BinarySearch(int k,int &comparisons){

    int l=0,r=n-1,mid;
    while(l<r){
        mid=(l+r)/2;
        //cout<<mid<<endl;
        comparisons++;
        if(arr[mid]==k) return mid;
        else if(arr[mid]>k){
            r=mid-1;
        }
        else {
            l=mid+1;
        }
    }

    //cout<<"l"<<l<<endl;
    //cout<<"r"<<r<<endl;
    // 元素不在数组中,返回最接近的元素位置
    if (r < 0) {
        return l;
    } else if (l >= n) {
        return r;
    } else {
        // 找到最接近的元素位置
        //cout<<"k - arr[l-1]:"<<k - arr[l-1]<<endl;
        //cout<<"arr[l] - k:"<<arr[l] - k<<endl;

         //通过l指针,如果l位置的数大于k则比较l和l-1位置的值
        //否则比较l和l+1的值即可

        if(arr[l]>k){
            if ( k - arr[l-1] <= arr[l] - k) {
                return l-1;
            } else {
                return l; // 否则返回当前位置 l
            }
        }else{
            if ( k - arr[l] <= arr[l+1] - k) {
                return l;
            } else {
                return l+1; // 否则返回当前位置 l
            }
        }

    }
    return -1;
}

// 三分查找
int TernarySearch(int k,int &comparisons) {
    int l=0,r=n-1,mid1,mid2;

    while (l <= r) {
        int mid1 = l + (r - l) / 3;
        int mid2 = r - (r - l) / 3;

        //cout<<"mid1"<<mid1<<endl;
        //cout<<"mid2"<<mid2<<endl;

        comparisons++;
        if (arr[mid1] == k) {
            return mid1;
        }


        comparisons++;
        if (arr[mid2] == k) {
            return mid2;
        }


        comparisons++;
        if (k < arr[mid1]) {
            r = mid1 - 1;
        } else if (k > arr[mid2]) {
            l = mid2 + 1;
        } else {
            l = mid1 + 1;
            r = mid2 - 1;
        }
    }


     if (r < 0) {
        return l;
    } else if (l >= n) {
        return r;
    } else {
        // 找到最接近的元素位置


        if(arr[l]>k){
            if ( k - arr[l-1] <= arr[l] - k) {
                return l-1;
            } else {
                return l; // 否则返回当前位置 l
            }
        }else{
            if ( k - arr[l] <= arr[l+1] - k) {
                return l;
            } else {
                return l+1; // 否则返回当前位置 l
            }
        }

    }
    return -1;
}

 

...全文
47 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
网站设计大赛方案 为展示我院近年来教育改革与发展的成就,增强网站设计相互交流,配合"大雁型" 人才培养模式,提高学生实践技能,培养企业实用人才,为此举办特滨州职业学院网站 设计大赛,实施方案如下。 一、主办和承办单位 本次大赛由网络中心牵头,党委(院长)办公室、学工处共同承办。 二、活动时间 2007年10月1日至2007年11月1日,具体评选时间另行通知。 三、活动主题 迎接奥运,关注祖国;发展学院,展现自我。 四、参赛对象 全体滨州职业学院学生。允许多人合作完成一件作品,作品可以以合作者或工作室 类型署名。 五、作品内容要求  1.内容实用 网站内容主题明确,鲜明活泼,健康向上,信息量大,具有文化内涵和时代气息。 2.功能强大 网站包括信息动态、公告栏、论坛或留言板及其他互动性信息等,能在传达部署工 作、组织开展活动、交流沟通信息等方面发挥实际作用。 3.页面美观 网站页面设计庄重大方,形式新颖,创意独特,颜色协调;合理运用多种形式表现 主题,栏目内容图文并茂,文字排版合适,视觉效果好。页面的规划合理、美观、易扩 充。  4.制作规范 网页制作规范,栏目分类清晰,信息归类科学,内容丰富详实,网站导航明确,链 接无误,便于使用。 5.特色鲜明 具有鲜明特色,内容突出原创,网站页面设计有新意(Logo、Banner的设计有内涵 、有创意),能够体现出学院的特色与内涵。 特别注意:如使用可能产生版权纠纷的文字、图形、设计风格等,责任自负。 六、作品技术要求 网站设计分成两部分,并且是统一的,前台设计属于静态网页,后台设计属于数据 库开发。网站设计要求主题突出,内容健康;结构清晰、规范;色彩使用搭配合理、美 观;网站后台管理规范等。具体内容如下: 静态网页要求: 1.主题突出,布局合理、结构清晰、规范。 2.色彩搭配合理、美观,设计新颖,有创意。 3.技术运用全面,技术含量高。 4.导航美观、醒目、转换方便、自然流畅(人机操作界面流畅)。 5.网页中有自制的动态效果。 6.网页中涉及的所有"路径"必须使用"相对路径"。 7.网页不少于6个,深度至少包括二级页面。显示分辨率以800*600或1024*768状态 为准。 8.Logo 、Banner适当。 9.基本内容必须包括文字、图形、图像、声音效果、动态效果等多媒体要素。 动态网页要求: 1.能够实现后台对前台的管理; 2.用户权限设计; 3.数据库设计合理; 4.要求功能实现齐全; 5.安全性高; 6.代码冗余度小。 七、参赛方法 由个人或团队到团委报名参赛,报名截止日期10月20日,联系人:周鑫(图书办公 楼107);设计网站于10月25日前报送网络中心技术科,联系人:麻文利(图书办公楼3 09)。 各系要积极组织参赛。参赛作品数量不限。有条件的系部可以先期举办比赛,进行 选拔。大赛优秀作品将上传至学院专用服务器上,供大家参考、学习和使用。 八、评审办法 评委由7-9人组成,网站设计人员现场演示,由评委现场打分,评出一二三等奖。 九、奖项设置 网站评比根据参评网站得分情况排次,设一等奖2名,二等奖4名,三等奖8名,优秀 奖若干。获奖人员颁发证书和纪念品。 附:网站评分标准 二〇〇七年九月二十九日 滨州职业学院网站设计大赛评分标准 一、内容(10分): 1、内容健康,积极向上; 2、符合国家政策和有关法律要求; 3、符合题意; 4、详细而充实; 5、能够清晰表达设计意图。 二、结构(10分): 1、结构清楚合理; 2、整体结构有一定的连贯性; 3、每一页都有返回首页的标志; 4、没有空链接; 5、没有错误链接; 6、便与浏览查找。 三、版面与视觉感受(10分): 1、网站整体风格一致; 2、没有乱码和错位; 3、没有错误的表格; 4、按纽图片的制作美观实用; 5、色彩协调; 6、页面美观。 四、创意(20分): 1、页面具有个人设计风格,具有观赏性; 2、内容有创意。 五、技术应用:(40) 1、Html :超级连接 图片 表格 表单 2、VBscript/javascript :对象 事件 特效应用 3、Css :字体 文本 边框 定位 滤镜 4、数据库 :ADO Access / Sql 5、内置对象 :application session request response server 6、Fso :文件的检索 建立 增加 修改 删除 目录操作 7、XML :dtd xsl 数据库 8、动态网页技术:ASP、ASP.NET、PHP、JSP 六、其他要求 (10) 1、word格式说明文档一份 ¬ 清楚表述网站的整体设计意图及其功能 ¬ 列举网站设计中使用的技术 ¬ 列举每个网页文件的名称及其功能 ¬ 描述网站正确运行所需要的环境以及参数设置 2、所有文件打包成RAR压缩
网站设计大赛方案 为展示我院近年来教育改革与发展的成就,增强网站设计相互交流,配合"大雁型" 人才培养模式,提高学生实践技能,培养企业实用人才,为此举办特滨州职业学院网站 设计大赛,实施方案如下。 一、主办和承办单位 本次大赛由网络中心牵头,党委(院长)办公室、学工处共同承办。 二、活动时间 2007年10月1日至2007年11月1日,具体评选时间另行通知。 三、活动主题 迎接奥运,关注祖国;发展学院,展现自我。 四、参赛对象 全体滨州职业学院学生。允许多人合作完成一件作品,作品可以以合作者或工作室 类型署名。 五、作品内容要求  1.内容实用 网站内容主题明确,鲜明活泼,健康向上,信息量大,具有文化内涵和时代气息。 2.功能强大 网站包括信息动态、公告栏、论坛或留言板及其他互动性信息等,能在传达部署工 作、组织开展活动、交流沟通信息等方面发挥实际作用。 3.页面美观 网站页面设计庄重大方,形式新颖,创意独特,颜色协调;合理运用多种形式表现 主题,栏目内容图文并茂,文字排版合适,视觉效果好。页面的规划合理、美观、易扩 充。  4.制作规范 网页制作规范,栏目分类清晰,信息归类科学,内容丰富详实,网站导航明确,链 接无误,便于使用。 5.特色鲜明 具有鲜明特色,内容突出原创,网站页面设计有新意(Logo、Banner的设计有内涵 、有创意),能够体现出学院的特色与内涵。 特别注意:如使用可能产生版权纠纷的文字、图形、设计风格等,责任自负。 六、作品技术要求 网站设计分成两部分,并且是统一的,前台设计属于静态网页,后台设计属于数据 库开发。网站设计要求主题突出,内容健康;结构清晰、规范;色彩使用搭配合理、美 观;网站后台管理规范等。具体内容如下: 静态网页要求: 1.主题突出,布局合理、结构清晰、规范。 2.色彩搭配合理、美观,设计新颖,有创意。 3.技术运用全面,技术含量高。 4.导航美观、醒目、转换方便、自然流畅(人机操作界面流畅)。 5.网页中有自制的动态效果。 6.网页中涉及的所有"路径"必须使用"相对路径"。 7.网页不少于6个,深度至少包括二级页面。显示分辨率以800*600或1024*768状态 为准。 8.Logo 、Banner适当。 9.基本内容必须包括文字、图形、图像、声音效果、动态效果等多媒体要素。 动态网页要求: 1.能够实现后台对前台的管理; 2.用户权限设计; 3.数据库设计合理; 4.要求功能实现齐全; 5.安全性高; 6.代码冗余度小。 七、参赛方法 由个人或团队到团委报名参赛,报名截止日期10月20日,联系人:周鑫(图书办公 楼107);设计网站于10月25日前报送网络中心技术科,联系人:麻文利(图书办公楼3 09)。 各系要积极组织参赛。参赛作品数量不限。有条件的系部可以先期举办比赛,进行 选拔。大赛优秀作品将上传至学院专用服务器上,供大家参考、学习和使用。 八、评审办法 评委由7-9人组成,网站设计人员现场演示,由评委现场打分,评出一二三等奖。 九、奖项设置 网站评比根据参评网站得分情况排次,设一等奖2名,二等奖4名,三等奖8名,优秀 奖若干。获奖人员颁发证书和纪念品。 附:网站评分标准 二〇〇七年九月二十九日 滨州职业学院网站设计大赛评分标准 一、内容(10分): 1、内容健康,积极向上; 2、符合国家政策和有关法律要求; 3、符合题意; 4、详细而充实; 5、能够清晰表达设计意图。 二、结构(10分): 1、结构清楚合理; 2、整体结构有一定的连贯性; 3、每一页都有返回首页的标志; 4、没有空链接; 5、没有错误链接; 6、便与浏览查找。 三、版面与视觉感受(10分): 1、网站整体风格一致; 2、没有乱码和错位; 3、没有错误的表格; 4、按纽图片的制作美观实用; 5、色彩协调; 6、页面美观。 四、创意(20分): 1、页面具有个人设计风格,具有观赏性; 2、内容有创意。 五、技术应用:(40) 1、Html :超级连接 图片 表格 表单 2、VBscript/javascript :对象 事件 特效应用 3、Css :字体 文本 边框 定位 滤镜 4、数据库 :ADO Access / Sql 5、内置对象 :application session request response server 6、Fso :文件的检索 建立 增加 修改 删除 目录操作 7、XML :dtd xsl 数据库 8、动态网页技术:ASP、ASP.NET、PHP、JSP 六、其他要求 (10) 1、word格式说明文档一份 ( 清楚表述网站的整体设计意图及其功能 ( 列举网站设计中使用的技术 ( 列举每个网页文件的名称及其功能 ( 描述网站正确运行所需要的环境以及参数设置 2、所有文件打包成RAR压缩
解除C语言实训烦恼 “计算机能力强化实训”(C语言)任务书 一、实训目的 C语言程序设计是本科工科类各专业的重要基础课,主要学习程序设计的基本概念和方法,通过本门课程学习,使学生掌握C语言的基本原理,熟练掌握程序设计的基础知识、基本概念;掌握程序设计的思想和编程技巧。 实训是在学生已经具备了使用C语言编写简单的应用程序的能力,为使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,通过提出算法、指定输入输出来设计一个解决方案。并为参加计算机等级考试作准备。 二、实训的基本内容和要求 参加实训的学生,应当认真完成实训的全部内容。最终提交实训成果来证明其独立完成各种实际任务的能力。从而反映出理解和运用本课程知识的水平和能力。具体如下: 1、代码编写规范,形成良好的编程习惯; 2、程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。 3、提交实训报告电子稿、装订的打印稿。实训报告内容包括以下几个方面:  程序的总体设计和算法分析。  程序流程图、函数说明  源程序代码清单  测试数据和测试过程记录  遇到的问题及解决方法分析  实训小结 4. 程序运行方式 构建一个简易菜单,形如: 用户通过输入数值选择所需运行的子程序,当一个子程序运行结束后回到菜单界面,直至用户输入0后退出程序。 5.实训选题 每人至少做6题,题目如下(每人的题目由任课老师安排) (1)编写一个程序实现如下功能:一个整型数组有10个元素,删除所有值为n的元素。要求: ① 主函数完成n的输入,数组元素输入以及删除后数组元素的输出。 ② 删除功能用子函数完成。 (2)编写一个程序实现如下功能:输入10个学生5门课程的成绩,分别用函数求:①每个学生的平均分;②每门课程的平均分;③找出最高的分数所对应的学生和课程。 若输入2个学生的成绩,其运行结果如下图所示。 (3)编写一个程序实现如下功能:找最长的单词。设输入的英文短文不超过一行(假设正文最后有“.”结束,以“,”或空格分隔,不出现其他符号),编程将所有单词输出,并求其中最长单词的长度,并将该单词输出。 (4)编写一个程序实现如下功能:有8位裁判为1个运动员打分,请计算并输出去掉一个最高分和一个最低分后这个运动员的平均得分以及所评分最接近平均分的裁判员号。裁判员号及其所打分数从键盘输入,假设裁判员号为整数,所打分数为实数。 (5)编写一个程序实现如下功能:从键盘输入字符(最多为80个),遇到回车键输入结束,将输入的字符串按奇偶位置拆分,奇数位上的字符在前,偶数位上的字符在后,重新组成新的字符串输出,例如输入: ab12cd3456fg,则经过程序处理后输出: a1c35fb2d46g 。 (6)功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例): 1)输入n和n个成绩(成绩为浮点数类型,数组名记为a,假设1≤n≤50); 2)计算并输出成绩的累加和(记为sum)与平均成绩(记为ave),将≥ave的成绩归为A档,将<ave的成绩归为B档; 3)分别统计A、B两档的人数,计算在总人数中的比率; 4)求出A档学生的最低分和B档学生的最高分,它们与平均成绩的差值; 运行示例: 输入:9 55.5 99.5 50.0 90.0 88 59.5 48 60 78.0 输出: Sum=628.5, Ave=69.8 A: 4,44.4% B: 5,55.6% MinA: 78.0,+8.2 MaxB: 60.0,-9.8 说明:输入的第1个数表示学生人数(n=9),接着输入的9个成绩中,累加和为628.5(所有小数均保留一位小数输出),平均分为69.8分;平均分以上(A档)有4人,占44.4%,平均分以下(B档)有5人,占55.6%;A档的最低分为78分,超出平均分8.2分,B档的最高分为60分,距离平均分还有9.8分的差距。 (7)功能说明:编写程序,通过以下步骤验证一个正整数对是否符合特定的编码规则: 1)输入正整数a与b; 2)计算a的所有不同的质因子(包括1)之积,记为s; 3)如果s等于b,则通过验证,输出“OK”,否则输出“Err”。 输出格式参见以下示例。 运行示例1: 输入:588 42 输出:588: 1*2*3*7=42, OK 说明:输入数为588(对应a)和42(对应b),588的质因子为1、2、3和7,其累乘结果为42(对应s),由s等于b(均为42),输出OK。 运行示例2: 输入:17 55 输出:17: 1*17=17, Err(17!=55) 说明:质因子为1和17,乘积仍为17,不等于b(55),输出Err,及不通过原因“(17!=55)”。 (8)编写一个程序实现如下功能:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。 例:若程序执行时,输入字符串为:Shanghai Dianji University,从键盘上输入字符:s,则输出后变为:Shanghai Dianji Univerity,如果输入的字符串不存在,则字符串照原样输出。 (9)编写一个函数void fun(char a[],int k,int n),其功能是:删除字符串中指定下标开始的n 个字符。其中,a中放字符串,k中存放指定的下标。 例如,字符串内容为:Hellollo World!,k中值为:5,n中的值为:3,则调用该函数的结果为:Hello World!。 (10)编写一个程序实现如下功能:调用名为tj的函数,求一个二维数组中正数、负数的代数和,以及零的个数。 (11)编写一个程序实现如下功能:调用一个名为gm的函数,该函数实现简单的加密。加密方法如下:先定义一张字母加密对照表: 原字母 a b c d e i k , w 加密后字母 d w k , i a b c e 将需要加密的一行文字输入加密程序,程序根据加密表中的对应关系,可以简单地将输入的文字加密输出,对于表中未出现的字符则不加密。 运行示例: 输入:lajgdike,w 输出:ldjg,abice (12)编写程序验证以下说法:输入一个4位数,该数个、十、百、千位上的数互不相等,由个、十、百、千位上的数组成一个最大数和一个最小数,最大数-最小数,构成一个新的4位数。反复以上运算,使其最终结果为:6174。 要求如下(下面的函数名为建议函数名): ① 用函数 int IsNumberEqual(int number) 检查输入的整数number各数码是否互不相等,全相等返回值为1否则为0; ② 用函数(void ntos (int number, int c[]) )把四位数整数number各位数码分别存入数组c ③ 用函数( void sort (int a[ ] )对4个元素的数组a排序(升序或降序都可以); ④ 由输入整数分解排序后的数组得到最大值和最小值: int getmaxn(int a[ ]) 返回值为最大值 int getminn(int b[ ]) 返回值为最小值 (13)函数 fun 的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 (14)函数 fun 的功能是:用插入排序法将n个字符进行排序(降序)。(提示: 插入法排序的思路是:先对数组的头两个元素进行排序, 然后根据前两个元素的情况插入第三个元素,再插入第四个元素…)。 (15)爱因斯坦数学题。爱因斯坦曾出过这样一数学题:有一条长阶梯,若每步跨2阶,则最后剩下1阶,若每步跨3阶,则最后剩下2阶,若每步跨5阶,则最后剩下4阶,若每步跨6阶,则最后剩下5阶,只有每步跨7阶,最后才正好1阶不剩。请问,这条阶梯共有多少阶? (16)猜数游戏 在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果按下列要求循序渐进地编程实现,会发现其实这个程序是很容易实现的。那么,现在就开始吧,先编写第1个程序,然后试着在第1个程序的基础上编写第2个程序,…… 程序1 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大(Too high)还是小(Too low),然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。 程序2 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。 程序3 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。 程序4 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。 (17)给小学生出加法考试题 编写一个程序,给学生出一加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。 程序1 通过输入两个加数给学生出一加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,程序结束。 程序2 通过输入两个加数给学生出一加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,直到做对为止。 程序3 通过输入两个加数给学生出一加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct! You have tried three times! Test over!”,程序结束。 程序4 连续做10题,通过计算机随机产生两个1~10之间的加数给学生出一加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。 (18)学生成绩统计 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能: 1)统计不及格人数并打印不及格学生名单; 2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单; 3)统计各分数段的学生人数及所占的百分比。 提示:可考虑用两个一维数组实现学生成绩和学生信息的存储。 (19)歌手大赛评分 某歌手大赛,共有十个评委给选手打分,分数采用百分制,去掉一个最高分,去掉一个最低分,然后取平均分,得到歌手的最后成绩。 (20)统计 输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、空格、数字和其它字符的个数。 (21)求 的值,其中a是一个数字,如2+22+222+2222+22222(此时a=2,n=5),a和n均由键盘输入。 (22)读入一批正整数(以零或负数为结束标志),求其中的奇数和。 (23) 利用泰勒级数sin(x)≈ 计算sin(x) 的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项(x由键盘输入)。 (24)最大值、最小值及其交换 输入一个正整数n (1查找数值18在以下二维数组中第一次出现的位置。 3 4 5 18 8 12 16 54 43 34 18 7 (35)设有4行4列的数组a,其元素a[i][j]=3*i+2*j-6。编写程序,实现如下功能: ① 求第二行4元素的累加和; ② 求第四列4元素的平均值; ③ 求主对角线4元素中负数的个数。 (36)编写程序输出100~1000内的可逆素数。可逆素数是指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。如157和751均为素数,它们是可逆素数。要求调用两个子函数实现。 (37)输入一行数字字符存入字符数组str[80]中,用num[10]中的数组元素作为计数器来统计每个数字字符的个数。用下标为0的元素统计字符“0”的个数,用下标为1的元素统计字符“1”出现的次数,……。输出每个奇数字符出现的次数。 (38)假设数组a有4行4列的随机整数,计算每行的平均值,保留两位小数,然后输出平均值和每行的最大值。 (39)输入一行字符串,分别统计字符串中各元音字母(AEIOU)的个数(不分大小写)。 (40)编写程序计算并输出:1 + 12 + 123 + 1234 + …… 的前n(设0查找数据k,若找到,显示查找成功的信息,并将该数据删除;若没有找到,则将数据k插入到这些数中,插入操作后数据仍然有序。 (43)编写一个程序实现如下功能:有4名学生,每个学生信息包含学号、姓名、数学成绩、英语成绩、C语言成绩和三门课程的总分,并对数据进行输入和输出。 (44) 编写一个程序实现如下功能:定义一个点的结构数据类型,实现下列功能:①为点输入坐标值。②求两个点中点坐标。③求两点间距离。 (45)编写一个程序实现如下功能:建立一个单链表,每个结点数据要有职工号、工资。用一个creat函数来建立链表,用list函数输出数据(数据自定)。 (46)编写一个程序实现如下功能:有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。 (47) 编写一个程序实现如下功能:将一个整形ASCII码文件FileA.txt复制到ASCII码文件FileB.txt。 FileA.txt FileB.txt 10 11 12 13 14 15 10 11 12 13 14 15 20 21 22 23 24 25 20 21 22 23 24 25 30 31 32 33 34 35 30 31 32 33 34 35 (48)编写一个程序实现如下功能:有一个整数文件(二进制文件),读取其中的数值,如果为奇数加一;如果为偶数,减一,存放到新的文件中去。 (49)从键盘输入若干行字符,将其存入“s8”磁盘文件中,再从文件中读取这些字符,将其中的大写字母转换成小写字母后输出到屏幕显示。 (50)以下程序从文件“student.txt”读取学生的学号、姓名、平时成绩和考试成绩,再从键盘上输入一个成绩,将所有考试成绩达到或超过该成绩的学生数据写到新的文本文件“studentD.txt”。文件的最后一行为0表示学生数据结束。 设文件student.txt的内容为 101 Zhao 95 58 103 Qian 75 81 105 Sun 99 91 107 Li 80 67 0 运行时键盘输入:80 则生成新文件studentD.txt的内容为: 103 Qian 75 81 105 Sun 99 91 0 例示说明:student.txt中考试成绩在80分以上的Qian与Sun信息写到studentD.txt 三、课程设计的进度安排 熟悉文件内容 1天 整体设计和详细设计、编代码 1天 编代码、调试和测试  1天 实训报告书写 1天 演示软件   1天 四、指导书、参考资料 谭浩强著 《C程序设计》(第四版) 清华大学出版社 夏耘 吉顺如主编 《大学程序设计(C)实践手册》 复旦大学出版社 六、其他 附件为实训报告封面样张
本资源是本人在攥写论文时,收集、整理的,期望对广大的同仁有所帮助! 内容主要包括: word使用技巧;公式编辑技巧;页眉页脚技巧;目录处理技巧;参考文献格式排版技巧,word画图技巧,word转PDF等等。 下面是本资源的详细目录! ============================================= 目录 I 一、利用大纲级别自动生成目录 1 二、使WORD里面的文章自动生成目录 1 (一) 设置标题格式 1 (二) 自动生成目录 1 (三) 更新目录的方法 2 三、自动生成目录图片演示 2 4.用标题1,2,3分别去定义文中的每一章节 4 四、如何自动生成目录? 6 五、奇偶页显示不同内容 7 六、在页眉中显示章编号及章标题内容 7 七、修改页眉中的划线格式 7 八、在页眉和页脚中插入章节号和标题 8 九、分隔符 8 十、目录生成教程 8 十一、怎样使首页不显示页号呢? 9 十二、在word自动生成目录 9 十三、如何用制作出书籍目录效果 10 十四、Word中如何分节 10 1 Word中节的作用 10 2 分节符的使用 11 3分节后的页面设置 11 4分节与页码编号 11 5分节后文档的页眉与页脚的设置方法 11 十五、Word模版的使用 11 十六、Word技巧----Office大赛作品 12 ★输入其他语种特殊符号的方法 12 1.插入符号法 12 2.利用软键盘功能法 12 3.利用英文字体设置 12 ★快速输入大写中文数字 13 ★将姓名按姓氏笔划排序 13 ★在Word中插入当前的日期和时间 13 ★锁定插入的日期和时间 13 ★利用合并字符功能设置上下标 13 ★使用⑩以上的数字序号 14 ★使用格式刷重复复制格式 14 ★利用拖放的方式复制网页 14 ★利用不间断空格使两个单词保持在同一行文字里 14 ★让光标在段落间快速移动 14 ★巧用“选择性粘贴”中的“无格式文本” 14 ★快速显示文字格式 14 ★在Word中用另类方法复制文本 15 ★去除自动添加的超级链接 15 ★快速插入一对大括号 15 ★在Word2002中选择多个文档区域 15 ★禁用智能标记 15 ★WORD字体随身携带 15 ★为WORD文本加注解 16 ★快速输入特定的短语 16 ★特殊符号的输入 17 ★使用通配符进行模糊替换 17 ★Word文档与RTF文档的互换问题 17 ★如何将Word文档转换成为幻灯片 17 ★使用Word字体隐藏功能制作模板 18 ★在没有安装Word的计算机上查看文档 18 ★换页时不再频繁敲回车键 18 ★Word“分节”的妙用 18 ★为部分文档创建不同的页眉或页脚 19 ★Word文档转换为HTML文档后的变化 19 ★修改Word2000标尺 20 ★微调各边距 20 ★用键盘选定表格中的项目 20 ★巧用Alt键调整表格 21 ★修改表格的垂直对齐方式 21 ★将公式完整显示出来 21 ★增加、删除和显示全部菜单命令 21 ★摒弃“智能菜单”功能 22 ★在屏幕提示中显示快捷键 22 ★快速删除Word不常用的按钮和菜单 22 ★更改菜单打开方式 22 ★更改默认的度量单位 22 ★将同一高度和宽度应用于不同对象 23 ★添加更多的智能标记 23 ★不在任务栏上显示多余文档图标 23 ★自动滚动,我可以 23 ★让文档中的图片更瘦一些 23 ★让WordXP的启动随心所欲 24 ★使用手写识别功能 24 ★Word快捷键 24 ★用Word绘图时如何选择多个对象 26 ★绘图技巧 26 ★综合利用各种艺术效果 27 ★自定义新符号 27 ★2字变13字的进化 27 ★怎样防止打印信封时打偏 28 ★如何在其它计算机上打印含有本机特有字体的文件 28 ★在Word中打印海报 28 ★Word的复印机缩放功能 29 ★Word的复印机缩放功能 29 ★将图片移到合适的位置 30 ★Ctrl在绘图中的作用 30 ★去除绘图时出现的画布 30 ★如何对齐图形 30 ★如何微调图形及图像的位置 30 ★域锁定导致域结果不能正常更新 30 ★打印出的日期有误 31 ★超级链接的直接插入 31 ★利用自动更正功能将网址转化为超级链接 31 ★清除超级链接的下划线 32 ★更改超级链接文字的外观 32 ★取消超级链接的转换 32 ★怎样创建自己的电子邮件签名或电子邮件信 32 ★怎样用Word在网上开会 33 ★给会议来点Web讨论 33 ★用剪贴板的内容进行替换 33 ★十进制字符与Unicode字符的转换 34 ★巧用“修订”功能帮朋友修改文章 34 ★利用超级链接快速调出指定文档 34 ★利用摘要功能快速显示摘要 35 ★在Word中记录保存时间 35 ★如何将Word2000当字典使用 35 ★如何查看和清空剪贴板 35 ★在Word中通过传真发送文档 36 ★如何执行“全部保存” 36 ★让Word与WPS“资源共享” 36 ★怎样取得与真实打印完全一致显示效果 37 十七 Word绘制图形技巧 38 (一) 绘制图形的技巧 38 1.画直线 38 2.画弧 38 3.画矩形 38 (二) 选择图形的技巧 38 (三) 改变图形大小的技巧 38 1.改变某条线段的长短 38 2.改变图形(或图片)的大小 38 (四) 移动图形的技巧 39 (五) 使用绘图工具的技巧 39 (六) 绘图精度的提高 39 (七) 拓展绘图功能 39 (八) 用画图和Word软件为图片减肥的技巧 39 1、借用“画图”软件,进行便利“减肥” 39 2、借用“Word”软件,进行批量“减肥” 40 十八、页眉对齐技巧 41 十九、用Word画图功能做出五星红旗 42 二十、用Word小技巧 45 1.一次保存多个文件 45 2.快速组合多个对象 45 3.快速回到上次编辑的位置 46 4.快速更改英文的大小写 46 5.输入直引号(') 46 二十一、一页关联两个页码小技巧 46 二十二、多图片文档的快速浏览小技巧 47 二十三、表格小技巧 48 (一) 绘制表格 48 (二) 插入表格 52 二十四、不同页眉小技巧 53 1、如何在同一文档中创建不同的页眉 53 2、如何去除页眉中的横线 53 二十五、电子图书馆文章转为Word文档 54 1、PDF文件的识别 54 2、caj文件的识别: 55 3、超星文件的识别: 55 4、其他情况下的识别: 55 二十六、拆分窗口 56 二十七、标题自动到页眉 57 二十八、word制作日历 58 二十九、表格超界问题 59 三十、 word:公式编号右对齐 59 方法1:如何设置右对齐公式和题注号 60 方法2:如何设置左对齐公式 61 方法3:如何设置居中的公式 61 三十一、拼音位置 62 三十二、密码破解 62 1、破解Word密码不是梦 62 2、Excel也别跑 63 三十三、PDF转DOC 64 三十四、解密高手 64 三十五、公式宽度 66 全部一次调整 67 局部调整方法 67 三十六、自定义模板 自动生成指定的Word文件名 68 三十七、从头到脚完美:Word文档布局 69 三十八、文件夹的内容生成文件 70 三十九、参考文献的标注 70 1、如何在word文档中加进参考文献的标注 70 2、省时省力——写论文时如何利用word编辑参考文献 71 3、如何在Word中编辑参考文献 72 4、关于[1][2][3]类的脚尾注格式问题,与各位分享(修改) 73 5、利用word中的交叉引用来实现科技论文参考文献的引用 73 6、用word处理参考文献的最简单的方法 74 四十、word 使用技巧大全 75 之一 75 巧妙控制OfficeWord中的“孤行” 75 Word中表格快速一分为二: 75 在Excel中输入人名时使用“分散对齐” 77 之二 78 1、硬回车键的使用 78 2、使同行中选定的文字垂直提升或降低位置 78 3、给文档中的文字添加效果 78 4、给文本添加“文本框” 78 5、窗口拆分 79 6、使超出整页的几行文字合并到前页 79 7、新建自动图文集,用于快速输入文字 79 8、密码保存功能 79 9、不间断空格 79 10、调整下划线与文字之间的距离 79 之三 81 快速将文档转换成图片 81 WORD中如何输入分数 83 在word编辑中经常要调整字体大小 83 使Word中的字体变清晰Word文档中使用“仿宋”字体很淡,可按以下方法使字体更清晰: 84 四十一、word和execl使用技巧 84 1、Word下如何使用着重号 84 2、让Word表格快速一分为二 84 3、Word中巧用Alt键 85 4、巧用定位选条件单元格 85 5、在不同单元格快速输入同一内容 85 6、快速返回上次编辑点 85 7、多个单元格数据巧合并 85 8、Excel中巧用双击定位 85 9、Word准确移动文本 85 10、“相中”垂直文本块 85 11、Excel避免计算误差 85 12、让Word打印自动按序排列 86 13、Excel中快速绘制文本框 86 14、快速更改英文大小写 86 15、让窗口这样固定 86 16、快速输入省略号 86 17、轻松搞定单元格数据斜向排 86 18、快速去掉页眉的横线 86 19、为奇偶页制作不同的水印 86 20、快捷绘图 87 21、快速去除超链接 87 22、如何避免标题排在一页的底部 87 23、如何将文档中的某一页改为横向 87 24、如何将一个表格垂直拆分为两个的表格 87 25、巧用Word的扩展选定功能 87 26、Excel单元格多于15位数字的输入 87 27、Word中磅与厘米的换算 87 28、计算机中容量单位的换算 88 29、在Excel中复制上一单元格 88 30、清除拼写功能 88 31、Word表格后空白页的处理 88 32、改变图片形状 88 33、编辑线段顶点 88 34、开关网格线 88 35、在Word中快速改变行距 88 36、在Word中快速选取段落 88 37、在Excel中实现自动换行 89 38、汉字输入法的若干诀窍 89 39、用Word2000对称页边距进行双面打印 89 40、Excel玩“转置” 89 41、Excel轻松排序 89 42、Word中实现表格标题重复 89 43、Excel中实现表格标题分页打印 89 45、Word读书消除疲劳小技巧 89 46、给含公式的单元格点颜色看看 90 47、行首列尾随点随到 90 48、表格一次删个光 90 49、Word文档快速查找 90 50、几秒钟自动生成目录 90 51、在Word快速输入化学方程式 90 51、Word的两种水印 90 52、Word中画直线及精确调整图形的技巧 90 53、在Word文本框间创建“文字流” 91 54、迅速得出Word表格的行列数 91 55、我用Word来拆字 91 56、批量写贺卡和信封 91 57、Word中巧输星期 91 58、输入带圈字符 91 59、过滤网页内容 91 60、快速转换大写金额 92 61、去掉自动编号功能 92 62、去除绘图时出现的画布 92 63、巧用“格式刷” 92 64、部分加粗表格线 92 65、隐藏累赘的文字 92 66、长文档前后比照有妙招 92 67、让标尺自动出现 92 68、轻松设置特大特小字 92 69、巧调Word字符间距 93 70、按“Alt+Shift+P”组合键自动插入页码 93 71、A4两页内容妙“嫁”A3页 93 72、巧用“单色打印” 93 73、巧妙计算公式中的部分值 93 74、快速选定“空白”和“数据”单元格 93 75、让字符站起来 93 76、只给文字加下划线 93 77、Excel中消除0值 94 78、快速输入间隔号 94 79、巧用特殊符号绘制分隔线 94 80、用“Alt+Enter”快速重输 94 81、文字旋转轻松做 94 82、用分节符设置混合版面 94 83、Excel中插入连续空白行 94 84、Excel快速输入大写中文数字 94 85、多个工作表的页眉和页脚同时设置 95 86、判断成绩等级和统计各分数段人数 95 87、快速访问经常使用的文档 95 88、打造整齐的Word公式 95 89、快速精确调整表格宽度 95 90、改变文本框的形状 96 91、禁止Word中图形随段落移动 96 92、三种好学有用的Excel函数应用 96 94、字体大小任我调 96 95、复制Word格式又一法 96 96、大文档的页码编排 96 97、让你受益终身的10个word的使用技巧 97 98 其他常用技巧 98 99、Word中查找/替换通配符和代码 101 四十三、Word中公式编辑器的使用技巧 104 1、公式编辑器的启动与退出 104 四十四、Word文档设置多个不同的页眉页脚 107 四十五、Word 快捷键 108 四十六、Word 通配符 110 四十六、Word小技巧 111 1、在Word中插入当前的日期和时间 111 2、利用不间断空格使两个单词保持在同一行文字里 112 3、让光标在段落间快速移动 112 4、选择多个文档区域 112 5、使用通配符进行模糊替换 112 6、换页时不再频繁敲回车键 112 7、微调各边距 113 8、用键盘选定表格中的项目 113 9、巧用Alt键调整表格 113 10、修改表格的垂直对齐方式 113 11、增加、删除和显示全部菜单命令 114 12、在屏幕提示中显示快捷键 115 13、不在任务栏上显示多余文档图标 115 14、让文档中的图片更瘦一些 116 15、Word的复印机缩放功能 116 16、将图片移到合适的位置 117 17、怎样用Word在网上开会 117 1)安排会议 117 2)现在开会 118 3)给会议来点Web讨论 118 17、巧用“修订”功能修改文章 118 18、在Word中通过传真发送文档 119 19、如何执行“全部保存” 119 四十七、页眉页脚 120 1、奇偶页眉不一样 120 2、首页不显示页眉,显示页脚 120 3、取消页眉的边框格式 121 4、改变页眉的样式 121 5、修改“页眉”样式 121 6、取消页眉的边框格式 122 7、和页眉横线“永别” 122 四十八、Office技巧集锦——WORD篇 122 1.“文本框”也能输入多重幂指数 122 2.怎样关闭拼写错误标记 122 3.附加段落格式的去除 123 4.附加字符格式的去除 123 5.巧用多级列表功能编号 123 6.解决“公式编辑器”调入速度慢的问题 123 7.插入其它语种的特殊符号 124 1) 插入符号法 124 2) 利用软键盘功能法 124 3) 利用英文字体设置 124 8.快速输入大写中文数字 124 9.在Word中插入当前的日期和时间 124 10.锁定插入的日期和时间 124 11.利用合并字符功能设置上下标 125 12.使用⑩以上的数字序号 125 13.使用格式刷重复复制格式 125 14.利用拖放的方式复制网页 125 15.利用不间断空格使两个单词保持在同一行文字里 125 16.让光标在段落间快速移动 125 17.巧用“选择性粘贴”中的“无格式文本” 125 18.快速显示文字格式 126 19.在Word中用另类方法复制文本 126 20.快速输入特殊符号 126 21.去除自动添加的超级链接 126 22.快速插入一对大括号 126 23.在Word2002中选择多个文档区域 126 24.禁用智能标记 127 25.WORD字体随身携带 127 26.为WORD文本加注解 127 27.快速输入特定的短语 127 28.特殊符号的输入 128 29.使用通配符进行模糊替换 128 30.使用Word字体隐藏功能制作模板 128 31.在没有安装Word的计算机上查看文档 129 32.换页时不再频繁敲回车键 129 33.Word“分节”的妙用 129 34.为部分文档创建不同的页眉或页脚 129 35.Word文档转换为HTML文档后的变化 130
数学建模优秀论文 本节主要讲解数学建模竞赛应该如何准备以及分工的问题。很多新来的学生 都会问我这个问题,数学建模好难、我不会建模、我数学底子很差。其实,我觉 得由于从小学到高中的教育,很容易把数学建模等同于数学竞赛。这两者其实真 的天差地别,如果说数学竞赛更多的是一种智力的比拼,那么数学建模更多的是 一共系统与工程协调的比拼。粗俗点说,前者就是做题,后者则是科研。 数学建模主要分为三个方向,建模,编程,以及写作。我们通常看到数学建 模证书上面有三个人的名字 xxx,xxx,xxx。如果按照传统思想排队,一般第一 个人负责建模,第二个人负责编程,第三个人负责写作。其实三个人在队伍中的 地位是平等的,所以国奖证书很人性化地把大家的名字都排在自己队伍的第一位。 下面具体说说建模、编程以及写作。 建模主要是需要构建出一个数学模型,这个模型可以是一组方程,可以是一 个可操作的框架,也可以是一个函数。总而言之,能用数学解决问题的一种抽象 方法,就是数学模型。我们高中学的物理,在解物理题的过程,其实就是数学建 模的过程。比如 2016 年国赛 A 题的第一问,只要用到高中物理的正交分解法, 列出水平方向以及竖直方向的精力平衡,即可解决该问题。我想,大家都是考上 本科的人了,最基础的物理还是会的吧?所以对于建模的同学来说,并不要求你 的数学功底有多么的好,但是需要你在培训或者自学期间,多涉猎一些模型(不 求计算或者推导,只求能有一定的印象,只要这个模型应该用在什么地方即可。) 这样,到了真正比赛的时候,想到用什么方法,结合网络等资源便可以迅速学习 出相关的模型理论,经过自己的一定创新,便可以较好地解决所需要完成的任务。 编程这一块是韩同学的强项。我只谈谈作为建模为主,但是要懂一些编程的 人应该达到的编程水平。严格来说,写 MATLAB 代码还做不到完全脱离书本的水 平。但是我已经具备了看到一大段代码,自己对其中的部分语句进行修改,为我 所用,实现自己想要的功能。对于建模比赛来说,达到这种水平一般来说是够用 了,只要在编程同学写程序的时候,建模的同学可以检查 MATLAB 代码是否符合 数学模型的要求,而不是单纯的代码堆积。如果是计算机或者软件方向的学生, 那么就尽可能地多学习 MATLAB 有关知识,能够自己独立写出代码并且调试错误 那么是再好不过的了。 写作这一块是专门为文科生或者女生准备的福利,其实不管你的模型多么华 丽,不管你的程序复杂度多么地低,如果无法形成一篇语句流畅,图文并茂的论 文出来。你还是只有拿成功参赛奖的命。如果说建模与编程的同学决定了获奖的 11 上限,那么写作的同学则决定了获奖的下限。一篇排版以及语句优秀的论文,可 以让评委老师眼前一亮,迅速获得好评。在国赛中,由于不放心论文,所以两次 论文写作均是我个人操刀,其实两次论文都存在一定的遗憾。如果有一位细心的 女同学可以帮助另外两名队友写作并且细心排版,那么论文的水平将会更上一层 楼。同时,我希望写作的队员不要完全不顾数学,在比赛期间,还是应该或多或 少知一些建模以及编程人的思路,即使提不出什么意见,也有助于清晰写作的 框架。 上面为不同方向的队员应该是怎样的以及如何准备。而且我建议三名小组成 员最好是从大一一直打到大四的比赛,只有磨合默契的队友,才更有希望冲击国 奖甚至国一。 四、 数学建模竞赛比赛技巧 既然这是谈建模竞赛,那么我还是需要谈一谈应试技巧的话题,对于代做或 者直接抄袭他人作品的行为我是十分反对的(不能以身试法,否则不仅损害个人 名誉,损害学弟学妹参赛资格,更加损害学校的声誉)。 1.选题机灵点,在选题前,建议先上知网等学术网站对相关话题进行查找, 如果相关文献较多,那么则更容易从中获得灵感,建立出属于自己的模 型(如果用到了里面的公式或者模型,一定要引用)。不过这种做法存在 一个缺点,就是你这么想,难别人不会这么想么?所以,最终大家的 论文虽然都是各自独立完成的,但是很容易出现结果差不多,图表差不 多,甚至模型差不多的情况。因此,这样很难分出优劣,对于拿国奖来 说,并不是十分有利。(一般国赛 A 题多为这种情况,如果想通过原创冲 击国奖,那么更应该选择可塑性高的问题,如 B 题)。 2.如要冲击国奖最好选择可塑性高的题,一般每年国赛的 B 题,都是方案 类问题,即使你在知网或者其他网站上找到相似的文献,但是仔细一看, 往往都是失望而归。因为 B 题一般都是热点问题:比如去年的互联网+打 车和今年的小区路改造问题,都是以往不曾出现过的。所以,如果 B 题 你可以挖掘出别人挖掘不到的信息,并且建立出一个较为新颖的模型, 那么国一就是你的了。 3.一定要把第一题做对(做不对也要给出一个结果)!一定要写一篇较为完 整、格式较为清晰(哪怕只做了一问,也有文章)的论文。如果可以达 到上述要求,那么不论是什么建模比赛,奖状都有你的一份了。。。。但是 很遗憾,每年不管什么类型的比赛,很多同学连这一条也无法达到,所 以同学们应该反思自己,为什么拿不到奖了。 4.对于得不出较为理想的值,则应该从现在所做的所有工作中选一个数据 出来作为答案,并且附上理由。千万不要无端造出程序无法实现的答案 出来,如果万一进了国奖答辩,评委问你这个数据怎么得出来的,你总 不可以说是猜出来的吧? 5.每一次比赛,都认真做,不要总想着还有下一次的比赛可以做,做好每 一次的比赛,都是一次不错的锻炼。 6.写作的同学可以参考往届优秀论文,尤其以广西赛区的优秀论文为主, 学习他人的写作方式,这样可以让自己的论文风格,论文框架,论文排 版均接近国奖论文的素养。 12 7.编程的同学如果想使用他人的程序时,不妨学会其思想,自己设计新算 法并且实现功能。而且对于复杂的程序,最好在论文中附上一个程序框 图,方便评委老师理解。 8.建模的同学应该多多涉猎不同的文献,中文的,外文的最好都阅读以下, 然后自己在草稿纸上画一些思维导图,对这些文献之间的关系进行一定 的梳理,然后结合本问题分析,看看什么地方需要修改,什么地方需要 精简,什么地方需要补充等等。而且,建模的同学一定要尽量把模型程 序化,用一些编程同学听得懂的话进行沟通。比如我把今年 A 题第一问 从物理受力问题变成了迭代求解问题,这样编程的同学则会舒服很多 数学建模参考的书目以及网站 书籍 1.《 数学模型》姜启源等著 阅读人群:建模 这本书虽然被奉为数学建模最经典的入门书,但是我本人并不是十分喜欢。 第一,这本书的模型比较杂,而且可操作性较差。意思就是说,告诉你了理论, 你很难再实践中自己去操作。而且很多模型较为基础,对于短期内学习达到国赛 的强度难度较大,因此适合作为一本辅助参考性读物进行学习。如果,你要一个 字一个字读下去,会发现到头来还是什么都不太会(除了暑期培训的时候阅读过, 之后再也没有使用过了) 。 2.《数学建模算法与应用》司守奎等 阅读人群:建模、编程 是我最为推崇的书:《数学建模算法与应用》。这本书是司守奎老师写的新书, 司老师是数模一线教练,经常培养出国一国二。因此他的书与国赛风味十分贴近, 很多问题都是取自国赛原题,而且附上了所有程序的源代码,那本书中的光盘则 收入了所有程序的 m 文件(MATLAB 的源文件),实属业界良心(都省去了你抄源 代码的时间)。所以,这本书是可以用来临时抱佛脚的,如果你的目标就是在省 赛区取得一定的名次,那么这本书真的足够你用了(基本上每次比赛,我首先查 阅的必定是这本书)。 3.《数学建模》Frank R. Giordano 等著 叶其孝等译 阅读人群:建模 这本书是美赛负责人写的书,实际上我阅读这本书也觉得没有多大的意思, 和姜启源那本数学模型类似,不适合一页页阅读,更加适合提高建模的修养,但 是不适合用来准备数学建模国赛或者美赛。所以,如果你想要参加美赛,那么建 议你还是稍微看看,毕竟是美赛指定的参考书。 4.《 MATLAB 在数学建模中的应用》卓金武等著 阅读人群:编程 这本书和司守奎老师的那本书风格有点接近,例题基本选于国赛赛题,但是 这本书对于模型的介绍较少,主要都是给出 MATLAB 代码,每一章最后都有延伸 阅读,因此对于 MATLAB 感兴趣的同学可以将这本以及下一本作为入门参考书。 5. 《MATLAB R2014a 完全自学一本通》刘浩等著 阅读人群:编程 这本书是一本 MATLAB 工具书,并不完全针对数学建模,但是很多 MATLAB 使 用的小技巧都来自于这本书,比如今年我们画的锚链形状图,均来自这本书的灵 感。 6.《 20XX 年全国大学生数学建模竞赛广西赛区经验交流及优秀论文选》吕跃进 著 阅读人群:写作(最为重要)建模(参考) 编程(参考) 13 作为广西赛区优秀论文集,写作的同学尤其需要注意,广西赛区的优秀论文 都是长什么样子的?我们不需要先想着和其他赛区的人比,先学习自己赛区的人 的论文,可以让自己的起步稍微简单一些。XX 的意思就是某某年,一般从 20102015 年的左右参考下即可。 7.《全国各赛区优秀论文》 阅读人群:写作 建模 编程 当你学有余力时,不妨多看看其他省份优秀论文,找找差距,找到一个提高 建模水平的方向。 8.《正确写作美国大学生数学建模竞赛论文》&《美国大学生数学建模竞赛题解 析与研究》 王杰等著 阅读人群:建模 写作 这两本书作为美赛官方读物,非常适合美赛冲刺前 2 个月阅读,由于这套书 并没有给出源程序,因此只有写作以及建模的同学进行参考。尤其是《正确写作 美国大学生数学建模竞赛论文》这本书,非常适合写作的同学学习,其中有一些 写作习惯甚至可以用于国赛的写作中去。这本书还有一个特色就是讲解了部分有 关使用 LaTeX 的知识。 9.《 SPSS 统计分析基础教程》&《SPSS 统计分析高级教程》张文彤等著 阅读人 群:编程 这两本书手把手地教你如何使用 SPSS 分析数据,加上 SPSS 本身“傻瓜式” 设计,因此配合这两本书进行一定的学习足够了。 10.《 Origin9.1 科技绘图与数据分析》叶卫平著 阅读人群:编程 建模 如果在短时间之内学会一个软件并且可以进行比赛,那么 Origin 绝对是一 个利器。基本上涉及绘图的问题,大多数 MATLAB 可以完成的,它也可以完成。 几乎与 SPSS 一样的“傻瓜式”设计,非常适合初学者学习掌握。所以我认为建 模的同学多学一个绘图的软件也没有什么不好的(我们美赛的灵感出自这本书) 。 上面 10 本书希望绝大多数同学都可以涉猎一二,即使是枯燥的数学模型那 本书,最好也稍微看看,好歹有一些印象。而司老师那本书,我则希望人手一本。 下面的书籍由于时间成本还有与建模的关系不是那么紧密,所以参考即可。 11.《 SAS 统计分析实用宝典》 姚鑫峰等著 阅读人群:编程 作为最为专业统计软件 SAS,对于处理大数据问题的时候,是当仁不让的王 者,连 MATLAB 都要为其让路。如果你十分热衷于大数据的问题,还有想参加“汇 丰杯”SAS 数据分析大赛的同学,或者参加阿里巴巴天池大数据竞赛的同学不妨 以这本书作为基础,学习 SAS 吧。 12.《 R 语言实战》Robert I. Kabacoff 著 高涛译 阅读人群:编程 作为 SAS 的姊妹,R 语言作为免费开源的数据分析软件同样大受欢迎,如果 你不喜欢昂贵的 SAS,那么投入 R 的怀抱也不错。 13.《物理学原理在工程技术中的应用》马文蔚等著 阅读人群:建模(尤其喜欢 A 题的同学) 本来是不太想把物理类的专业书引入到数学建模竞赛中来,无奈自从 2014 年开始,每年国赛 A 题的问题都是物理问题(可以认为是纯物理问题),2014 年, 卫星变轨问题(万有引力与航天)。2015 年,利用杆子的太阳影子定位(球面天 文学与地球物理学)2016 年,系泊系统的设计(力平衡与力矩平衡) 。所以天知 2017 年 A 题会出什么样奇怪的问题。这本书有助于大家对于物理在工程上的 应用有一定的认识,以作为知识储备。 14. 《MATLAB 神经网络 43 个案例分析》 王小川等著 阅读人群:编程 最近几年比赛中,智能算法越来越多地出现在本科生的比赛中了,如果你想 14 在国赛或者美赛中使用一些新鲜的算法,那么还是学习这本书中的一些案例吧。 这本书的源程序全部都给你了,只需要对着程序一步步推敲,一定可以学到一些 知识(我们“好贷杯”模型的灵感出自这本书)。 15. 《机器学习》周志华著 阅读人群:建模 由于这个领域现在属于热门领域,因此数模的很大一部分未来的研究方向皆 在于此。我本人对于这个领域也处于学习当中。当然,你想要看懂这本书,还是 先学好概率论与数理统计,线性代数,和部分微积分的知识吧。 网站 1.数学中国论坛:www.madio.net 作为中国最大的数模论坛网站,你可以找到很多奇奇怪怪的数模资料,当然 我还是劝你先学好上面 10 本书之内的东西,因为其实一个人的精力并没有那 么多。 (实际上,我参加数学中国的比赛,很少用体力去上面下载什么资料) 。 2.LaTeX 中国区论坛:www.ctex.org 你想知的 LaTeX 资料,上面都有。 3.中国知网:www.cnki.net 维普:www.cpvip.com 万方:www.wanfang.com.cn 这三家为中国主流的文献数据库,基本上大多数中文期刊可以找到。 4.由于 Google 学术在中国区无法使用,因此只能使用 Bing 学术搜索外文文献 了:http://cn.bing.com/academic 5.赛氪网:www.saikr.com 作为 APMCM 和 Mathorcup 的主办方,赛氪还是其他很多比赛的报名渠。不 经意间往往可以发现更多适合自己的竞赛。 6.COMAP:www.comap.com 美赛官方网站,由于美赛是一个只发放电子证书的比赛,因此了解他家官网 还是很有必要的。 7.阿里巴巴天池大数据竞赛:http://tianchi.shuju.aliyun.com 作为数模后续竞赛,对于大三或者大四等高年级的同学,欢迎转战更加具有 实用性质的数据分析竞赛。 8.MATLAB 中文论坛:http://www.ilovematlab.cn 有啥问题就丢上去问就行了。 9.人大经济论坛:http://bbs.pinggu.org/ SAS,SPSS 等统计类的问题,在这个论坛上找出相关的目录,进去发问就好了。 这个论坛是我国经管类最好的论坛。

858

社区成员

发帖
与我相关
我的任务
社区描述
中南民族大学CSDN高校俱乐部聚焦校内IT技术爱好者,通过构建系统化的内容和运营体系,旨在将中南民族大学CSDN社区变成校内最大的技术交流沟通平台。
经验分享 高校 湖北省·武汉市
社区管理员
  • c_university_1575
  • WhiteGlint666
  • wzh_scuec
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎各位加入中南民族大学&&CSDN高校俱乐部社区(官方QQ群:908527260),成为CSDN高校俱乐部的成员具体步骤(必填),填写如下表单,表单链接如下:
人才储备数据库及线上礼品发放表单邀请人吴钟昊:https://ddz.red/CSDN
CSDN高校俱乐部是给大家提供技术分享交流的平台,会不定期的给大家分享CSDN方面的相关比赛以及活动或实习报名链接,希望大家一起努力加油!共同建设中南民族大学良好的技术知识分享社区。

注意:

1.社区成员不得在社区发布违反社会主义核心价值观的言论。

2.社区成员不得在社区内谈及政治敏感话题。

3.该社区为知识分享的平台,可以相互探讨、交流学习经验,尽量不在社区谈论其他无关话题。

试试用AI创作助手写篇文章吧