中南大学c++题库编程答案.docx
《中南大学c++题库编程答案.docx》由会员分享,可在线阅读,更多相关《中南大学c++题库编程答案.docx(179页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、sin.wv.r+1a?01 .计算分段函数:|cosi-.t2+3,ti=0使用库函数sqrt来计算平方根。#include ttinclude ttinclude using namespace std;int main()Idouble x, y;cout”请输入个数x:cinx;if(x!=O)y=sin (x) + (sqrt (x*x+l);elsey=cos (x)-x*x+3*x;cout函数值:setprecision (6) yendl;return 0;)2 .编写程序,输入某大写字母的ASCII码值,输出该字母的对应小ttinclude using namespace
2、std;int main()int a =,a,A,;int x;while( cinx )if ( x= A & x=,Z)cout (char) (x+a) endl;elsecout”输入的不是大写字母的ASCI!码endl;return 0;3 .用牛顿迭代法求方程:3x 3-4x 2-5x+13=0在x= 1附近的根,要 求精度为10-6。#include #include using namespace std;int main()float xn,xn 1 ,f,f 1;cout= 1 e-6);cout”方程的个根:xn lendl;return 0;4 .编写函数fun(),
3、它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=0 的一个实根。x n+1 =cos(x n )#include #include float value()(float xO, x1;xO = 0;x1 = cos(xO);while (abs(xO - x1) = 0.000001)(xO = x1;x1 = cos(xO);return x1;)void main()(print!(迭代方法求方程:cos(x)-x=0的解为%fn, value();5 .编写函数int f (int x , int n),求出20个数中的最大数, 并在以下main函数中进行测试。#inclu
4、devoid main()inta = 1, 4, 6, 7, 3, 9, 10, 30, 59, 32, 48, 72, 87, 13, 27, 45, 64, 8, 2, 6);cout“a 中最大值为:“f(a, 20) endl;#include stdafx. httinclude using namespace std;int f (int x, int n);int main(int argc, char* argv)int a20=1, 8, 10, 3, 7, 15, 28, 2, 4, 22, 0, 17, 25, 9, 19, 6, 14, 26, 20, 11;prin
5、tf (max is %dn, f (a, 20);return 0;)int f (int x, int n)(int i;int max;max = x0;for (i=l;in;i+)if (maxxi)max = xi;Jreturn max;return 0;)6 .将给定的十进制数转换为十六进制数。ttinclude using namespace std;int main()int x;while( cinx )printf C %X Hn”, x);return 0;7 .编写个自定义函数:int f( int M, int N) , f()的功能是: 对给定的正整数M和N,找
6、出满足方程5x+6y=M的正整数解中x和 y都是偶数的解。要求:若M和N不都是正整数,则结束函数并返 回1;只有M和N都是正整数时,继续求解操作,并用二重循 环进行求解:(1)在函数中输出满足条件的正整数解x和y,(2)使函数值返冋满足条件的正整数解的组数。ttinclude using namespace std int f ( int M, int N);void main()coutf (500, 650) endl;#include using namespace std;void main() coutf (500,650) endl; int f ( int M, int N )(
7、int x, y, count = 0;if( M 1 | N 1 ) return -1;for ( x = 2 ; x = N/5 ; x+=2 )for ( y = 2 ; y = M/6 ; y+=2 )if( 5*x + 6*y = M )count+;coutx - x y = yendl;return (count?count:-l);)8 .编写个解“一百元买鸡”问题的自定义函数:int f( int M, int N)其中M代表公鸡的单价(元/只),N代表母鸡的单价(元/只),价格由主调函数给定;购鸡方案中要求总花费刚好为 100元,且不允许全部购买公鸡或全部购买母鸡(即公鸡
8、、母鸡只 数都不能为);求解所有购鸡方案。若M和N只要有一个以上参 数无意义,则函数结束执行并返回 1值;若M和N都有意义,则 函数输出所有可能的购鸡方案,并返回方案的组数。要求用二重循 环实现。ttinclude using namespace std;void main() coutf(15, 28)endl; ttinclude using namespace std;int f ( int M, int N);void main() coutf (30, 20)endl; int f ( int M, int N )Iint x, y, count = 0;if( M 1 I I N
9、1 ) return -1;for ( x = 1 ; x = 100/M ; x+)for( y = 1 ; y = 100/N &( M*x + N*y=100); y+ )if ( M*x + N*y =100 )count+;cout公鸡=x母鸡=yendl;return (count?count:-l);9 .编写个自定义函数:int f( long a,int n, long x) , f()的功能是:对给定的含有n个元素的维数组a及某个指定数x, 查找数组a中是否存在元素值等于x的元素,若存在,则函数值返 回找到的下标最大的那个元素的下标;若不存在,则函数值返回 lottincl
10、ude using namespace std;int f (long a, int n, long x);void main() long x=7;long a5 = 3, 5, 2, 7, 9;coutf (a, 5, x) endl;ttinclude using namespace std;int f (long a, int n, long x);void main() long x=7;long a5 = 3, 5, 2, 7, 9);coutf (a, 5, x) endl;int f (long a, int n, long x)(int count = 0, pos = -1
11、;for( int i=0;i n ; i+)if ( ai=x )pos = i;count+;if( count=0 ) return -1;return pos;10.编写个自定义函数:int f( long a, int n, long x), f()的功能是:对给定的维数组a及某个指定数x,找出数组a 中元素值等于x的元素个数,以及最后个值为x的元素所在位置 下标。在函数中输出这两个结果,并将找到的元素个数作为函数值 返回。#include using namespace std int f (long a口,int n, long x);void main() long x=7;l
12、ong a5 = 3,7,2, 7, 9;coutf (a, 5, x) endl; #include using namespace std;int f (long a, int n, long x);void main() long x=7;long a5 = 3, 5, 2, 7, 9;coutf (a, 5, x) endl;)int f (long a, int n, long x)Iint count = 0, pos = -1;for ( int i=0;i n ; i+)if( ai=x )pos = i;count+;coutcount” iendl;return count
13、;11.编写个自定义函数:int f( long a,int n, long x),f ()的功能是:对给定的含有n个元素的维数组a及某个指定数x,查找数组a中是否存在元素值等于x的元素,若存在,则函数值返回找到的下标最小的那个元素的下标;若不存在,则函数值返回1。#include using namespace std;int f (long a口,int n, long x);void main() long x=8;long a5 = 3,7,2, 7, 9;coutf (a, 5, x) endl;ttinclude using namespace std;int f (long a,
14、 int n, long x);void main() long x=7;long a5 = 3, 5, 2, 7, 9);cout=0 ; i)if ( ai=x )count+;if( count=0 ) return -1;return pos;12.编写个自定义函数:int f (int N) , f()的功能是:对给定的正整数N,找出满足下列方程“3x+4y=N”的正整数解。若N不是 正整数,则结束函数并返回1:若N是正整数,则函数中输出找 到的所有正整数解,并且使函数值返回解的组数。用二重循环实 现。#include using namespace std;int f (int N
15、);void main() coutf(160)endl;#include using namespace std int f (int N);void main() coutf (160)endl; system(pause); int f( int N )(int x, y, count = 0;for ( x = 1 ; x = N/3 ; x+ )(for ( y = 1 ; y = N/4 ; y+ )if ( 3*x + 4*y = N )count+;coutx = x y = yendl;return (count?count:-l);13.编写个解“鸡兔共笼”问题的自定义函数
16、:int f(int N), 其中N代表动物的脚总数;且笼中每种动物都至少有1只以上。若N不符合实际,则结束函数并返回1;若N符合实际要求,则函数 输出所有可能的鸡、兔数,并返回符合条件解的组数。用二重循环 实现。#include using namespace std;int f (int N);void main() coutf (160) endl; #include using namespace std;int f (int N);void main() coutf (160) endl; int f( int N )int x, y, count = 0;for( x = 1 ;
17、x = N/2 ; x+ )(for( y = 1 ; y = N/4 ; y+ )if( 2*x + 4*y = N )(count+;cout 鸡= x 兔= y endl;return (count?count:-l);14.编写个自定义函数:int f( int M) , f()的功能是:对给定 的正整数M,找出满足方程5x+6y=M且x不超过!00的正整数解。若M不是正整数,则结束函数并返回1;若M是正整数时,则函 数中输出所有的正整数解,并且使函数值返冋正整数解的组数,要 求使用一重循环。#include using namespace std;int f ( int M); co
18、utf (500) endl; #include using namespace std;int f( int M);void main() coutf (500) endl; int f( int M )(int x, y, count = 0;int t;if( M = 0 ) return -1;for( x = 1 ; x = M/5 & x = 100 ; x+ )(100 - 5*x)/6;if ( 5*x + 6*t = M )!:count+;coutx= x y= tendl;return (count?count:-l);)15编写个自定义函数:int f( int M,
19、int N) , f()的功能是:对给定的正整数M和N,找出满足方程7x+4y=M的正整数解中 x是偶 数且y是奇数的解。要求:若M和N不都是正整数,则结束 函数并返回一1:只有M和N都是正整数时,继续求解操作,用二 重 循环进行求解:(1)在函数中输出满足条件的正整数解x和y, (2)并且使函数值返冋满足条件的正整数解的组数。#include using namespace std;int f( int M, int N);void main() coutf (500, 650) endl; #include using namespace std;int f( int M, int N);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南 大学 c+ 题库 编程 答案
限制150内