计算机二级-C语言-对结构体数据进行求平均值。对结构体数据进行比较处理。

//函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数返回,并将大于平均值的数放在形参y所指数组中,在主函数中输出。

//重难点:对结构体数据进行求平均值。

 1 #include <stdlib.h>
 2 #include <stdio.h>
 3 #define   N   10
 4 double fun(double  x[],double  *y)
 5 { int  i,j;    double  av;
 6 /**********found**********/
 7   av=0;
 8 /**********found**********/
 9   for (i = 0; i < N; i++)
10       av = av + x[i]/10;
11   for(i=j=0; i<N; i++)
12 /**********found**********/
13     if(x[i]>av)  y[j++]= x[i];
14   y[j]=-1;//判断结束标识符
15   return  av;
16 }
17 void main()
18 { int  i;    double  x[N],y[N];
19   for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
20   printf("\n");
21   printf("\nThe average is: %f\n",fun(x,y));
22   for(i=0; y[i]>=0; i++)  printf("%5.1f ",y[i]);
23   printf("\n");
24 }

//函数fun的功能是:根据整型参数m,计算如下公式的值。

//重难点:函数返回值类型相一致。

 1 #include  <stdlib.h>
 2 #include  <conio.h>
 3 #include  <stdio.h>
 4 /*************found**************/
 5 double fun (int m)
 6 { double y=0, d;
 7   int i;
 8 /*************found**************/
 9   for (i = 100; i <= m; i += 100)
10   {
11       {d = (double)i*(double)i;
12       y += 1.0 / d;
13       }
14   }
15   return(y);
16 }
17 void main()
18 { int n=2000;
19   system("CLS");//执行控制台命令cls,就是CMD下面的cls,功能是清屏,清除所有显示的信息。 
20   printf("\nThe result is %1f\n",fun(n));
21 }

//在此程序中,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。编写fun函数:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

//重难点:对结构体数据的处理。

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<conio.h>
 4 #include<stdlib.h>
 5 #define N 10
 6 typedef struct ss
 7 { char num[10]; 
 8   int s;
 9 } STU;
10 void fun(STU a[], STU *s)
11 {
12     int i;
13     //s = a;这个相当于把首地址互等
14     s[0] = a[0];//这个把值互等
15     for (i = 0; i < N; i++)
16     {
17         if (a[i].s < s[0].s)
18         {
19             s[0] = a[i];
20         }
21     }
22 }
23 void main()
24 { 
25   FILE *wf;
26   STU a[N]={{ "A01",81},{ "A02",89},{ "A03",66},{ "A04",87},{ "A05",77},
27   { "A06",90},{ "A07",79},{ "A08",61},{ "A09",80},{ "A10",71}},m;
28   int i;
29   system("CLS");//执行控制台命令cls,就是CMD下面的cls,功能是清屏,清除所有显示的信息。
30   printf("*****The original data*****\n");
31   for(i=0;i<N;i++) 
32     printf("No=%s Mark=%d\n", a[i].num,a[i].s);
33   fun(a,&m);
34   printf("*****THE RESULT*****\n");
35   printf("The lowest :%s, %d\n",m.num,m.s);
36 /******************************/
37   wf=fopen("out.dat","w");
38   fprintf(wf,"%s, %d",m.num,m.s);
39   fclose(wf);
40 /*****************************/
41 }

 

posted @ 2019-01-15 19:04  小大大小  阅读(1721)  评论(0编辑  收藏  举报