算法设计方法与优化滕国文部分课后习题答案

更新时间:2023-09-13 20:53:02 阅读量: 教学研究 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章:求值法

2-1.有三个数a,b,c,要求按从大到小的顺序把他们输出。 #include \

void fun(int a,int b,int c) {

int t; if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf(\}

void main() { int a,b,c; printf(\ scanf(\ fun(a,b,c); printf(\}

2-2.给定n个数,求这些数中的最大值。 #include void main() {

int i, j, temp,n; int a[1000]; scanf(\ for (i=0;i<9;i++) scanf(\ for (j=0;j

for(i=0;i

if (a[i] > a[i + 1]) {

temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } }

printf(\}

2-3.求1+2+3+…+100的和。 #include \void main() { int num,sum=0; for(num=1;num<=100;num++) { sum+=num; } printf(\}

2-4.判断一个数n能否同时被3和5整数。 #include \int fun(int n) { if(n%3==0&&n%5==0) return n; else return 0; }

2-5.将100至200之间的素数输出。 #include\#include \int isp(int m) { int i; for(i=2;i<=sqrt(m);i++) { if(m%i==0) return 0; } return 1; }

void main() { int n; for(n=100;n<=200;n++) { if(isp(n)) printf(\

} }

2-6.求两个数m和n的最大公约数。 #include\int num(int m,int n) { int r,t; if(m

void main() { int x,y,s; printf(\ scanf(\ s=num(x,y); printf(\}

2-7.使给定的一个4*4的二维数组转置,即行列互换。 #include #define x 4 int a[x][x]; void main() {

void zhuan(int a[x][x]); int m,n;

printf(\ for(m=0;m

scanf(\ printf(\原数组:\\n\ for(m=0;m

printf(\ zhuan(a);

printf(\转置后的数组:\\n\ for(m=0;m

printf(\ }

void zhuan(int a[x][x]) {

int c,d,e;

for(c=0;c

2-8.输出50个学生中成绩高于80分者的学号和成绩。 #include int main() {

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

printf(\请输入50个学生的成绩\for(i=0;i<10;i++) {

for(j=0;j<5;j++) {

scanf(\} }

for(i=0;i<10;i++) for(j=0;j<5;j++) {

if(a[i][j]>80) {

printf(\这个学生的学号是%d,这个学生的成绩是%d\\n\} }

return 0; }

2-9.输出年份1990-2500中的所有闰年。 #include\void leap()

{ int y; for(y=1990;y<=2500;y++) { if((y%4==0&&y0!=0)||y@0==0) printf(\ } printf(\}

void main() { leap(); }

2-10.求1-1/2+1/3-1/4+…+1/99-1/100的值。 #include int main() {

double sum; int i;

for(sum=0,i=1;i<=100;i++) {

if(i%2==1) {

sum+=1.0/i; }

else if(i%2==0) {

sum-=1.0/i; } }

printf(\结果:%lf\ return 0; }

2-11.输出三角形的三边长,试求三角形的面积。 #include\#include \void main() { int x,y,z,l; double area; printf(\ scanf(\ l=(x+y+z)/2; area=sqrt(l*(l-x)*(l-y)*(l-z));

本文来源:https://www.bwwdw.com/article/69dh.html

Top