?? integration2.c
字號:
/* 學生成績統計 */
# include <stdio.h>
# define M 5
# define N 10
float score[N][M];
float a_stu[N], a_cor[M];
/* 聲明子函數 */
void input_stu();
void avr_stu();
void avr_cor();
float highest(int *r, int *c);
float s_diff();
void main() /* 主函數 */
{
int i, j, r, c;
float h;
r = 0;
c = 1;
input_stu(); /* 調用函數input_stu,輸入學生各門功課的成績 */
avr_stu(); /* 調用函數avr_stu,求出每個學生的平均分 */
avr_cor(); /* 調用函數avr_cor,找出學生成績中的最高分*/
printf("\n 序號 課程1 課程2 課程3 課程4 課程5 平均分");
for(i=0; i<N; i++)
{
printf("\n NO%2d", i+1);
for(j=0; j<M; j++)
printf("%8.2f", score[i][j]);
printf("%8.2f", a_stu[i]);
}
printf("\n課平均");
for(j=0; j<M; j++)
printf("%8.2f", a_cor[j]);
h = highest(&r, &c);
printf("\n\n最高分%8.2f是 %d號學生的第%d門課\n", h, r, c);
printf(" 方差 %8.2f\n", s_diff());
}
void input_stu() /* 輸入學生的成績 */
{
int i, j;
for(i=0; i<N; i++)
{
printf("請輸入學生%2d的5個成績:\n", i+1);
for(j=0; j<M; j++)
scanf("%f", &score[i][j]);
}
}
void avr_stu() /* 計算學生的平均分 */
{
int i, j;
float s;
for(i=0; i<N; i++)
{
s = 0;
for(j=0; j<M; j++)
s = s + score[i][j];
a_stu[i] = s/M;
}
}
void avr_cor() /* 計算課程的平均分 */
{
int i, j;
float s;
for(j=0; j<M ;j++)
{
s = 0;
for(i=0; i<N; i++)
s = s + score[i][j];
a_cor[j] = s/(float)N;
}
}
float highest(int *r, int *c) /* 找最高分 */
{
float high;
int i, j;
high = score[0][0];
for(i=0; i<N; i++)
for(j=0; j<M; j++)
if(score[i][j]>high)
{
high = score[i][j];
*r = i + 1;
*c = j + 1;
}
return high;
}
float s_diff() /* 求方差 */
{
int i;
float sumx, sumxn;
sumx = 0.0;
sumxn = 0.0;
for(i=0; i<N; i++)
{
sumx = sumx + a_stu[i]*a_stu[i];
sumxn = sumxn + a_stu[i];
}
return (sumx/N-(sumxn/N)*(sumxn/N));
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -