二级C++分类模拟317

上传人:pu****.1 文档编号:499082694 上传时间:2023-07-27 格式:DOC 页数:4 大小:52KB
返回 下载 相关 举报
二级C++分类模拟317_第1页
第1页 / 共4页
二级C++分类模拟317_第2页
第2页 / 共4页
二级C++分类模拟317_第3页
第3页 / 共4页
二级C++分类模拟317_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《二级C++分类模拟317》由会员分享,可在线阅读,更多相关《二级C++分类模拟317(4页珍藏版)》请在金锄头文库上搜索。

1、二级C+分类模拟 317一、基本操作题1、考生文件夹使用 VC+2010 打开考生文件夹下 “proj1 ”文件夹中的工程 proj1.sln ,该程序运行时有错误, 请补充程序中的丢失部分,使得程序运行。可以在修改处增加或者删除一条语句。本程序完成以下功能:(1) 获得输入的两个数字 x1 ,x2( 例如x1=4 ,x2=2) ;(2) 输出两个中较小的一个 ( 例如输出 2) :(3) 计算x1/x2 如果x2等于0 ,返回-1( 输出结果2) ;(4) 输出x1+x2 的结果(输出结果6) ;(5) 输出x1+1的结果(输出结果5) ;(6) 输出x2-1 的结果(输出结果1) 。注意:

2、不要改动 mainerror函数,不能增行或删行,也不能更改程序的结构,的下面。错误的语句在#include void main() int x1; int x2; int x3; iostream.hcout please input two number: cin x1 x2; endl;errorx3=(x1 x2)?x1:x2;cout Min number is: x3 endl;/计算x1/x2 如果x2 等于0, 返回-1errorx3=(x2)? x1x2:-1;cout x1/x2=x3 endl;errorx3=(-x1)+(x2+);cout x1+x2= x3 endl

3、; cout x1+1= x1 endl; cout x2-1= x2 endl; return;二、简单应用题2、考生文件夹使用 VC+2010 打开考生文件夹下 “proj2 ”文件夹中的工程 proj2.sln 。此程序的功能是将 out1.txt 文件中的内容输出到屏幕与文件中。输出如下:李一 1.78m 21王一 1.65m 23out2.txt 文件的内容如下:李一 1.78m 21王一 1.65m 23 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1) 以输入方式打开文件 out1.txt ,请在注释 /*1* 后添加适当的语句。(2) 以输出方式打开文件 o

4、ut2.txt ,请在注释 /*2* 后添加适当的语句。(3) 从文件中获得一个字符,判断是否结束,如果结束则退出输出。请在注释 /*3* 后添加适当的语句。(4) 把获得的字符输出到文件中,请在注释 /*4* 后添加适当的语句。 注意:仅在函数指定位置添加语句,请勿改动主函数 main 与其他函数中的任何内容。#include#includefstream.h#includestdlib.hvoid main()char ch;fstream infile, outfile; /*1* infile.open (out1.txt); if(!infile)文件不能打开 endl;文件不能打开

5、 endl;cout out1.txtabort();/*2*outfile.open(out2.txt); if(!outfile)cout out2.txt abort();while()cout ch;cout endl; infile.close(); outfile.close();三、综合应用题3、考生文件夹使用 VC+2010 打开考生文件夹下 “proj3 ”文件夹中的工程 proj3.sln。请完成函数 fun(intn) ,求出 nn矩阵的对角线数字的平方和。如果 n为奇数,则对角线交叉部位数字只参与一次计算。注意:请勿改动主函数 main 与其他函数中的任何内容,仅在函数

6、 fun 的花括号中填入所编写的 若干语句。#include#define MAX_N 10int XX MAX_N MAX_N;int fun(int n)void main()int n;docout please input N(1 =N 10): endl;cin n;if(n10 & n =1)break; while(1);for(int i=0; i n; i+)for(int j=0;jn;j+)cout please input data: endl;cin XXi j;cout fun(n) endl;return;答案:、基本操作题1、(1)x3=(x1 x2)?x1:x

7、2; ” 语句是判断 x1 与x2 其中哪个相对较小, 并将其赋值 给x3 。条件运算符的格式:表达式 1?表达式2:表达式 3。执行顺序是先求解表达式 1,若非则求解 表达式3,此时表达式 3的值就作为整个条件表达式值。所以求 x1 和x2中较小的一个,如果 x1 x2 为真,那么 x1的值赋给x3 ,否则x2的值赋给x3 ,即第1个标识下为 “x3=(x1 x2)?x1:x2; ” 。(2) 同理,第2个标识下计算 x1/x2 如果x2等于0,返回-1 。即“x3=(x2)?x1/x2: - 1;”。(3) 题干中求 x1+1 ,而 -x1 是 x1-1 ,所以改为 x1+ 。同理 x2+

8、 改为 x2- 。即 “x3=(x1+)+(x2 - ); ”。二、简单应用题2、(1) 将“infile.open(out1.txt);” 补充完整为:infile.open(out1.txt,ios:in);(2)将“ outfile.open(out2.txt);” 补充完整为:outfile.open(out2.txt,ios:out);(3)将“ while() ”补充完整为: while (in file. get (ch)(4) 添加语句: outfile ch; 解析 本题的功能是将 out1.txt 文件中的内容输出到屏幕与文件中。解题思路为在 VC环境下打开 程序,根据题干

9、给出的几条功能要求, 对程序中给出注释下的内容逐个补全或修改。 从已给定源程序 的 main 主函数开始入手,可以看出程序是对文件的操作。(1) 题目1要求 “以输入方式打开文件 out1.txt ” 。在C+中调用文件流的成员函数 open 的格式为,文件流类 open( 文件名 ,ios:in),所以第 1 个标识下语句就该为“infile.open(out1.txt,ios:in);” 。(2) 题目2要求 “以输出方式打开文件 out2.txt ” 。同理第 2个标识下修改为 “outfile.open(out2.txt,ios:out); ” 。(3) 题目3要求“从文件中获得一个字

10、符,判断是否结束 ”。程序中的 “while() ”循环判断语句中缺少从文件中获得的字符, 所以这里补全 while 循环判断条件, 即“while(infile.get(ch)” 。(4) 题目4要求 “把获得的字符输出到文件中 ”。在C+中,用流插入运算符为 “”,所以根据题干中的要求在第四个标识下补全写入文件的流操作语句,即 “outfile ch; ”。 三、综合应用题3、int data=0;/ 初始化求平方和变量for (int i=0; i n; i+)data+=XXii*XXiifh/ 求正对角线平方和if(i!=n-i-1)data+=XXin-i-1*XXin-i-1;11 求逆对角线平方和return data; 解析 本题函数中的功能是输出 N行N列正方阵,然后求两条对角线上各元素之平方和。其中,假设 矩阵行、列分别为 i 、j ,那么对角线上的元素特点是主对角线上 i=j ,以及逆对角线 j=n-i-1 。首先初始化求平方和变量,设置求平方和的变量为 0 ;然后利用 for 循环求得矩阵正对角线平方 和;最后求得逆对角线平方和,返回平方和变量。

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

当前位置:首页 > 办公文档 > 活动策划

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