📄 ch3-3.c
字号:
#define NUM_std 5 /*定义符号常量人数为5*/
#define NUM_course 4 /*定义符号常量课程为4*/
#include <stdio.h>
#include <reg51.h>
void main(void)
{ int i,j;
static xdata float score[NUM_std+1][NUM_course+1]={{78,85,83,65},
{88,91,89,93}, {72,65,54,75},
{86,88,75,60}, {69,60,50,72}};
#ifndef MONITOR51 /* 需要从串口1输出时请作如下设置*/
SCON = 0x50; /* 方式 1, 允许接收 */
TMOD |= 0x20; /* TMOD:定时器1方式2 */
TH1 = 221; /* 1200bps @ 16MHz */
TR1 = 1; /* 启动定时器1 */
TI = 1; /*Keil C自带的puchar()函数需要设置TI=1*/
#endif
for(i=0;i<NUM_std;i++)
{for(j=0;j<NUM_course;j++)
{ score[i][NUM_course] += score[i][j];/*求第i个人的总成绩*/
score[NUM_std][j] += score[i][j]; /*求第j门课的总成绩*/
}
score[i][NUM_course] /= NUM_course;/*求第i个人的平均成绩*/
}
for(j=0;j<NUM_course;j++)
score[NUM_std][j] /= NUM_std; /*求第j门课的平均成绩*/
/*输出表头*/
printf("学生编号 课程1 课程2 课程3 课程4 个人平均\n");
/*输出每个学生的各科成绩和平均成绩*/
for(i=0;i<NUM_std;i++)
{ printf("学生%d\t",i+1);
for(j=0;j<NUM_course+1;j++)
printf("%6.1f\t",score[i][j]);
printf("\n");
}
/*输出1条短划线*/
for(j=0;j<8*(NUM_course+2);j++)
printf("-");
printf("\n课程平均");
/*输出每门课程的平均成绩*/
for(j=0;j<NUM_course;j++)
printf("%6.1f\t",score[NUM_std][j]);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -