2012年自考“高级语言程序设计”经典习题及答案(18)_工学-查字典自考网
 
请输入您要查询的关键词
  查字典自考网 >> 工学 >> 2012年自考“高级语言程序设计”经典习题及答案(18)

2012年自考“高级语言程序设计”经典习题及答案(18)

发布时间: 2016-06-29 来源:查字典自考网

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=%fn”, 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

for( j=0;j

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

}

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

for(i=0;i

for(j=0;j

if( a[j] max ){

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

}

if( a[j]

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) ;

}

6.输入一个字符串,将其中的所有大写字母改为小写字母,而所有小写字母全部改为大写字母,然后输出。

“解”程序先输入字符率,然后顺序考察输入字符串中的字符,当发现是大写字母时,将它改写成对应的小写字母,而当它是小写字母时,就将它改写成对应的大写字母。若变量ch中的字符是大写字母,则与它对应的小写字母的表达式可以写成ch- ‘A’+‘a’ ;类似地,若变量ch中的字符是小写字母,则与它对应的大写字母的表达式可以写成ch-‘a’+‘A’ .完整程序如下:

# include

# define N 200

main()

{ char s[N] ;

int i;

printf(“ Enter string! n”);

scanf (“%s” ,s);

for(i=0; s!=‘’;i++)

if(s =‘A’&&s <=‘Z’ )

s=s -‘x’+‘a’ ;

else if(s =‘a’&& s <=‘z’)

s= s-‘a’ +‘A’ ;

printf(“s=%sn”,s);

}

7.设某班50名学生的三科成绩表如下:

课程一 课程二 课程三

…… …… ……

试编一个程序,输入这50个学生的三科成绩,计算并输出每科成绩的平均分。

“解”程序定义一个50行3列的二维数组,用于存储全班学生的成绩。程序顺序输入各个学生的三科成绩,然后按列的顺序,累计各科总分,并计算平均分。完整程序如下:

# include

# define N 50

# define M 3

main()

{int score[N][M], i,j,t;

double a[M];

printf(“Enter scores!n”);

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

for(j=0;j

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

}

for(j=0;j

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

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

a[j]+= score[j];

a[j]/= N;

}

for(j=0;j

printf(“课程%d的平均分是%.2fn”, j+1,a[j]);

}

查看全部

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

当前热点关注

网友正在阅读

[相关地区]