2016年【876】c程序设计
提示:仅完成了c语言部分的代码大题
提示:以下是本篇文章正文内容,下面案例可供参考;
一、输入 5 名学生 3 科成绩,并比较输出成绩最高学生学号和成绩
#define _CRT_SECURE_NO_WARNINGS //用于屏蔽新版 VisualStudio 编码检测,无用可直接注释或删除
#include <stdio.h>
#include <string.h>
#include <malloc.h>
//输入 5 名学生 3 科成绩,并比较输出成绩最高学生学号和成绩
typedef struct ST {
char sn[5]; //学号4位
int a; // 成绩a,b,c
int b;
int c;
}students, * st;
int main() {
students lins[5];
st t;
int a1, b1, c1; //最大成绩
int ai, bi, ci; // 对应索引
for (int i = 0;i < 5;i++) {
t = (st)malloc(sizeof(students));
printf("输入学号\n");
scanf("%s", t->sn);
//printf("%s", t->sn);
printf("输入三科成绩,空格分隔\n");
scanf("%d %d %d", &(t->a), &(t->b), &(t->c));
lins[i] = *t;
}
a1 = lins[0].a;
b1 = lins[0].b;
c1 = lins[0].c;
ai = bi = ci = 0;
for (int i = 0;i < 5;i++) {
if (lins[i].a > a1) {
a1 = lins[i].a;
ai = i;
}
if (lins[i].b > b1) {
b1 = lins[i].b;
bi = i;
}
if (lins[i].c > c1) {
c1 = lins[i].c;
ci = i;
}
}
printf("第一科最高成绩%d,学号:%s\n", a1,lins[ai].sn );
printf("第二科最高成绩%d,学号:%s\n", b1,lins[bi].sn );
printf("第三科最高成绩%d,学号:%s\n", c1,lins[ci].sn );
return 0;
}
提示:c语言基本的结构体的相关操作,无论是大题还是选择考操作概念有很有可能。
总结
如有好的意见 ,欢迎下面留言