西安交大C++程序的设计课外测验作业

上传人:l**** 文档编号:134483162 上传时间:2020-06-05 格式:DOC 页数:18 大小:325KB
返回 下载 相关 举报
西安交大C++程序的设计课外测验作业_第1页
第1页 / 共18页
西安交大C++程序的设计课外测验作业_第2页
第2页 / 共18页
西安交大C++程序的设计课外测验作业_第3页
第3页 / 共18页
西安交大C++程序的设计课外测验作业_第4页
第4页 / 共18页
西安交大C++程序的设计课外测验作业_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《西安交大C++程序的设计课外测验作业》由会员分享,可在线阅读,更多相关《西安交大C++程序的设计课外测验作业(18页珍藏版)》请在金锄头文库上搜索。

1、交通大学实验报告课程_计算机程序设计_实验名称_课外实验题目_第 1 页 共 19 页系 别_ _ 实 验 日 期 2014 年 4月 3日专业班级_ _组别_ 实 验 报 告 日 期 2014 年4 月 5日姓 名_ _学号_ _ 报 告 退 发 ( 订正 、 重做 )同 组 人_ 教 师 审 批 签 字 一、实验目的 复习巩固本阶段所学的知识,包括数组的使用、函数的使用、循环语句和条件语句的使用等。二、实验容 (一)第一题:1、编写一个程序,计算mn围的每个正整数的全部素因子。其中的m和n由键盘输入。 评分标准:(1)程序框架完整,代码规;(20)(2)数据类型的定义和使用方确;(20)(

2、3)程序控制结构使用正确;(20)(4)算确,清晰合理;(20)(5)运行结果正确,输入和输出格式如下所示。(20)请输入m和n:15 1815的非平凡因子:3 516的非平凡因子:2 4 817的非平凡因子:18的非平凡因子:2 3 6 91.源程序代码: #includeusing namespace std;void suyinzi(int x);int main()int m,n;cout请输入正整数m和n(mmn;while(mn)coutmn;for(int j=m;j=n;j+)/对于围的正整数逐一判断寻找因子suyinzi(j);return 0;void suyinzi(in

3、t x)/寻找并输出x的所有非平凡因子coutx的非平凡因子为:;for(int i=2;i=x/2;i+)if(x%i=0)couti ;coutendl;2.实验结果:3.问题分析:此题简单,但当该数没有非平凡因子时,如能够输出:“x没有非平凡因子!”而非仅仅输出空白则更好。为此,需要将非平凡因子个数储存下来,在判断完毕后根据个数是否为0决定是否输出“x的非平凡因子为:”这句话。然而这样的代价就是较为麻烦,增加了程序运行的时间,因而没有尝试。(二)第二题:编写函数求反正切三角函数值,函数原型:double my_arctg(double x);反正切三角函数公式如下:n=0,1,2,.,要

4、求结果值精确到107,并编写主函数测试。评分标准,该题共20分:( 1 )程序开始执行时显示“ Please enter x : ”,开始输入 x 的值,程序能正确接受该数值( 5分);( 2 )能够正确计算数据( 5分);( 3 )能够输出正确的计算结果。( 5分)。( 4 )调用系统数学库函数atan(x)检验计算结果是否正确,并输出检测结果( 5分)。1.源程序代码:#include#includeusing namespace std;double my_arctg(double x);int main()double x;coutx;cout自定义函数计算结果:my_arctg(x)

5、endl;cout系统函数计算结果:atan(x)0.0000001|u1时程序进入死循环无法结束,可能是公式不再适用。以下对各种情况作以检测:(1)输入为绝对值小于等于1的正数或负数及0时,能够计算出结果并且准确:(2)绝对值超过1,无法计算结果:3.问题分析:|x|1时则无法输出结果,为了了解是哪里的问题,将程序添加对u的输出语句,并进行了测试,得到以下结果:由结果分析,应该是无法达到结束循环的条件,此时程序进入死循环,所以无法输出。因而,应该是公式不再适用。因此,输入值应该限定在-1,1。所以提出修改意见:在输入语句后增加判断是否在-1,1的程序:While(x1|x-1)Coutx;出

6、于原题要求,没有在结果中进行改动。(三)第三题:编写程序,用二维数组存储 NN 整数矩阵,判断矩阵是否为对称矩阵(沿主对角线对称,N 大于3)?先输出该矩阵,然后输出判断结果。再将次对角线上的N个元素加到主对角线上N个元素,保持矩阵的对称性,并再输出该矩阵。(可以不用函数方法)评分标准:该题共 20 分。( 1 ) 数据定义和产生正确( 5 分)( 2 ) 判断对称矩阵的控制结构正确( 5 分)( 3 )主对角线与次对角线元素相加正确(5分)( 4 )输出结果正确( 5 分) 1.源程序代码: #includeusing namespace std;void chuli(int num44);

7、int panduan(int num44);int main()int a44= 1,2,3,4,2,3,4,1,3,4,1,2,4,1,2,3;int b44=3,4,3,4,2,3,8,1,4,4,3,2,7,1,2,3;chuli(a);chuli(b);return 0;int panduan(int num44)int i,j,x=0;for(i=1;i4;i+)for(j=0;j5)return 1;return 0;void chuli(int num44)int i,j;cout矩阵为:n;for(i=0;i4;i+)for(j=0;j4;j+)coutnumij ;cout

8、endl;if(panduan(num)!=0)cout该矩阵是对称的,改变后结果为:n;for(i=0;i4;i+)numii=numii+numi3-i;for(i=0;i4;i+)for(j=0;j4;j+)coutnumij ;coutendl;elsecout该矩阵不是对称的n;2.实验结果:3.问题分析:对题意的理解不是很明确。按照自己的理解进行了编写:定义了两个固定的函数,一个为对称的,另一个不对称;编写了一个自定义函数判断矩阵是否对称;然后对这两个矩阵分别进行判断,若不对称则输出不对称,若对称则进一步进行处理将次对角线元素加到主对角线。(四)第四题:编写函数,判断任意一个字符串

9、是否为对称字符串,例如:对称字符串为 “I a I” 、 “POP” 、 “21+12” 。要求编写主函数加以测试。判断函数原型如下:int panduan(char ccc);评分标准:该题共 20 分。( 1 ) 字符串数据定义和产生正确( 5 分)( 2 ) 判断函数编写正确( 10 分)( 3 ) 测试函数编写正确,并输出结果( 5 分) 1.源程序代码:#includeusing namespace std;int panduan(char ccc);/自定义函数判断字符串ccc是否对称int main()char in40;cout请输入字符:;cin.get(in,39);if(

10、panduan(in)=1)cout您输入的in是对称字符!endl;elsecout您输入的in不是对称字符!endl;return 0;int panduan(char ccc)int m=strlen(ccc);/获取字符串长度int i,x=0;for(i=0;i=m/2)/对称位字符全部分别相同时输出是return 1;return 0;2.实验结果:考虑到奇数个字符、偶数个字符、数字形式字符、字母、以及多种不对称的形式进行检测:(1)数字:(2)字母:(3)首尾字符不对称:(4)中心字符不对称:(5)含空格字符串:五、第五题:编写函数: int count(int m); 该函数完

11、成如下功能:输入一个整数 m ,统计并返回 m 左端连续相同数字的个数。如: 2220511 左端连续相同数字 2 的个数是 3 ; -923000 左端连续相同数字 9 的个数是 1 。编写主程序,测试该函数。评分标准:(1) 数据类型、程序控制结构使用正确( 5 分)(2) 函数的定义和调用方确( 5 分)(3) 程序结构规、 清晰、合理( 5 分)(4) 运行结果正确( 5 分)1.源程序代码:#includeusing namespace std;int count(int m);int main()int m;coutm;if(m0)m=-m;/取绝对值coutcount(m)=1;n+)numn=u%10;u=u/10;cout左端连续相同数字numn-1的个数为;int i=1;while(numn-i=numn-i-1)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号