1、 This is ; a C+ program. endl;return 0;【解】 输出的结果为ThisisaC+program.6分析下面程序运行的结果。 #include abc=f(a,b,c);cint f(int x,int y,int z) int m; if (xy) m=x; else m=y; if (z a+b; 【解】 上机编译出错,编译出错信息告知在第2行出错,经检查,发现第1行的末尾多了一个分号,编译系统无法理解第2行的花括号,导致报告第2行出错。将第1行的末尾的分号去掉,重新编译,编译出错信息告知在第5行和第6行出错。第5行出错原因是cout未经声明,因为cout
2、不是C+语言提供的系统的关键字,而是输出流的对象,必须使用头文件iostream。第6行出错原因是main是int型函数,应返回一个整型值。将程序改为 return 0;重新编译。编译出错信息告知在第5行和第6行出错。第5行出错原因是变量c未定义,第6行出错原因是cout未经声明,说明#include a+b;编译出错信息告知在第7行出错,经检查,是“”用得不当,“”是提取运算符,应与cin联合使用,用来从输入流中提取数据,输出时应该用插入运算符“”都改为“b;重新编译,没有编译错误,能通过编译和连接,可以正常运行,在Visual C+ 6.0环境下运行时屏幕显示如下:5 9a+b=14Pre
3、ss any key to continue显然这样的输出不理想,“Press any key to continue”是Visual C+系统在输出了运行结果后自动显示的一个信息,告诉用户“如果想继续工作,请按任何一个键”。当用户按任何一个键后,显示运行结果的窗口消失,屏幕显示回到Visual C+的主窗口,显示出源程序和编译信息。为了解决以上输出不理想的情况,可以在最后一个输出语句中增加输出一个换行符。最后的程序如下: couta+b=a+b a b; c=add(a,b); cout c x y z;sort(x,y,z);void sort(int x, int y, int z) i
4、nt temp; if (xy) temp=x;x=y;y=temp; / 内3个语句的作用是将x和y的值互换x) cout z , x y else if (zy) cout else cout 请分析此程序的作用。sort函数中的if语句是一个嵌套的if语句。运行时先后输入以下几组数据,观察并分析运行结果。 3 6 10 6 3 10 10 6 3 10,6,3【解】 程序的作用是对输入的3个整数按由小到大的顺序进行排序。sort函数中的第1个if语句的作用是先将x和y排序,使x小于或等于y。第2个if语句是一个嵌套的if语句,先比较z和x,如果zx,显然由小到大的顺序应当是z,x,y,按
5、此顺序输出;如果z不小于x,而小于y,显然由小到大的顺序应当是x,z,y,按此顺序输出;如果z既不小于x,又不小于y,显然由小到大的顺序应当是x,y,z,按此顺序输出。按题目要求分别输入以下几组数据,运行结果如下:3,6,10 3,6,10-858993460,-858993460,10以上是在Visual C+ 6.0环境下运行的情况,前3次运行正常,表明当输入不同的数据时,程序能实现由小到大的排序功能。第4次运行的结果显然不正常,这是由于输入数据时出了问题,本来要求在输入数据时,数据之间以空格或换行相隔,而现在却以逗号相隔,只有第一个整数能正常赋给变量x,第二和第三个数据均无法正常赋给变量y和z,y和z的值来自输入流中相应字节的内容。11求2个或3个正整数中的最大数,用带有默认参数的函数实现。【解】 可以编写出以下程序:in
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1