分站导航

热点关注

当前位置:

首页 > 专业大全

自考“高级语言程序设计”习题答案详解(21)

来源:本站整理 时间:2020-02-13 15:55:59

4.编程序按下列公式计算S的值(其中X1、X2、…、Xn由键盘输入):

s=∑(xi-x0)(xi-x0) (其中x0是X1、x2、…、Xn的平均值)

「解」输入数组x的n个元素的值,按公式计算。程序首先输入n,设n 100,然后输入n个数据,接着求它们的平均值,最后按计算公式求出s,并输出。程序如下:

# include

# define N 100

main()

{ double x[N+1], s;

int i,n;

do {

printf(“Enter n( 100)”); scanf(“%d”, n);

} while( =0||n =100);

for(i=1; i =n;i++){

scanf(“%lf”, s);x=s;

}

for(s=0.0,i=1;i =n; i++)

s+=x ;

x[0] = s/n;

for(s=0.0, i=1;i = n;i++)

s+=(x-x[0])*(x-x[0]);

printf(“s=%f\n”, s);

}

5.输入一个3X5的整数矩阵,输出其中最大值、最小值和它们的下标。

「解」输入一个二维数组,寻找二维数组的最大值和最小值。其中寻找最大值和最小值的工作可用两重循环实现,即按行按列考察二维数组的元素。程序如下:

# include

main()

{ int a[3][5], i,j,t,n=3, m=5,

min,max, minrow, mincol, maxrow, maxcol;

printf(“Enter %d*%d numbers !\n” , n,m);

for(i=0; i N;I++) )

for( j=0;j M;J++){

scanf(“%d”, t); a[j]= t;

}

min=max=a[[0][0]; minrow=mincol=maxrow=maxcol=0;

for(i=0;i N;I++)

for(j=0;j M; J++){

if( a[j] max ){

max= a[j] ;maxrow= i;maxcol=j ;

}

if( a[j] MIN) {

min=a[j] ; minrow= i; mincol=j ;

}

}

printf(“MAX=a[%d][%d] =%d MIN= a[%d][%d] =%d \n”,

maxrow,maxcol,max,minrow,mincol,min) ;

}

分享:

qq好友分享 QQ空间分享 新浪微博分享 微信分享 更多分享方式

上一篇:<上一篇

下一篇:

(c)2024 www.diying.com All Rights Reserved SiteMap 联系我们 | 豫ICP备2022007582号