编程答案

2020-03-27 12:45

第四单元

//1. 设计一个程序,要求输入三个整数,能求出其中的最大数并输出。程序中必须用函数实现求两数中大数的功能 #include int max(int a,int b) { } {

return a>b?a:b;

void main(void)

int a,b,c,maxnumber;

cout<<\请输入三个整数: \cin>>a>>b>>c;

maxnumber=max(a,b);

maxnumber=max(maxnumber,c);

cout<

}

//2. 设计一个程序,求出100~200之间的所有素数,要求每行输出5个素数。判断一个整数是否为素数用一个函数来实现。 #include int prime(int x) { for(int i=2;i<=x/2;i++) if(x%i==0)

return 0; return 1;

}

void main(void) {

int k=0;

for(int i=100;i<=200;i++)

if(prime(i)) { }

cout<

cout<

}

//3.回文数是指其各位数字左右对称的整数,例如12321是回文数。定义一个判断回文数的函数,并打印1000~2000之间的所有回文数。 #include int fun(int x)

{ }

int s=0; int i=x; while(i) {

s=s*10+i; i=i/10;

}

if(s==x)

return 1; else return 0;

void main(void) {

int k=0;

for(int i=1000;i<=2000;i++)

if(fun(i))

{ cout<

if(k%5==0)

cout<

}

}

//4.用函数实现求两正整数的最大公约数的功能,并在主函数中调用该函数求出两正整数的最小公倍数。 #include int gys(int a, int b) {

for(int i=a;i>=1;i--) if(a%i==0&&b%i==0) return i; return i;

}

void main(void) {

int a,b,t;

cout<<\请输入两个正整数: \

cin>>a>>b; t=gys(a,b);

cout<

}

//5. 用递归函数实现Hermite多项式求值。当x>1时,Hermite多项式定义为输入实数x和整数n后,求出Hermite多项式前n项的值 #include

double hermite(double x,int n) {

double y; if(n==0) y=1; else if(n==1)

y=2*x;

else y=2*x*hermite(x,n-1)-2*(n-1)*hermite(x,n-2); return y;

}

void main() {

double x,y;

int n;

cout<<\请输入n和x: \cin>>n>>x; y=hermite(x,n);

cout<<\

}

//6.分别设计两个函数,一个实现整数的正序输出,另一个则实现反序输出。如输人一个整数3456,则输出3456和6543。 //算法提示:重复除以10求余,直到商为0为止。如3456%10的余数为6,商为345;345%10的余数为5,商为34;

//34%10的余数为4,商为3;3%10的余数为3,商为0,至此结束。先输出余数,后递归,则为反序输出;

//先递归,后输出余数,则为正序输出。 #include void fun1(int n) { } {

if(n==0) return ; else fun1(n/10); cout<

void fun2(int n)

if(n==0) else {

cout<

}

}

void main() { int n; cout<<\请输入n: \ }

cin>>n; fun1(n); cout<

第五单元

//2已知三角形的三条边a, b, c,则三角形的面积为 #include #include

#define s(a,b,c) ((a+b+c)/2)

#define area(a,b,c) s(a,b,c)*(s(a,b,c)-a)*(s(a,b,c)-b)*(s(a,b,c)-c) void main( ) { }

double a,b,c; double ss;

cout<<\请输入三角形的三边: \cin>>a>>b>>c; ss=area(a,b,c);

ss=sqrt(ss);

cout<<\三角形的面积为: \

第六单元

//1输出以下的杨辉三角形(要求输出8行) #include void main() {

int a[10][10]; int i,j;

for(i=0;i<8;i++) {

a[i][0]=1; a[i][i]=1; }

for(i=2;i<8;i++)

for(j=1;j

{ a[i][j]=a[i-1][j-1]+a[i-1][j]; }

for(i=0;i<8;i++) { }

for(j=0;j<=i;j++) cout<

}

//2求一个4×4矩阵两对角线元素之和。 #include void main() {

int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; int i,j,s=0;

for(i=0;i<4;i++) {

for(j=0;j<4;j++)

cout<

cout<

for(i=0;i<4;i++) s=s+a[i][i]+a[i][3-i];

cout<<\}

//3找出二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。

#include void main() {

int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; int i,j,k,mini,maxj,flag=0,max; for(i=0;i<4;i++) {

max=a[i][0]; maxj=0;

for(j=1;j<4;j++) {

if(max

max=a[i][j]; maxj=j;


编程答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《第三章 万有引力定律及其应用》课堂笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: