2013自考“高级语言程序设计”习题答案详解(21)
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) ;
}
最新资讯
- 备考资料:2024年自考《英语二》阅读判断模拟试题2024-04-05
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——简答题2024-03-23
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——论述题2024-03-21
- 2021年10月自考《思修》考前2天冲刺卷2021-10-14
- 2021年10月自考《马克思主义基本原理概论》考前2天冲刺卷!2021-10-14
- 2021年10月自考《中国近现代史纲要》模拟题(五)2021-08-01
- 2021年10月自考《中国近现代史纲要》模拟题(四)2021-07-31
- 2021年10月自考《中国近现代史纲要》模拟题(六)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(三)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(二)2021-07-29