首页 > 计算机类考试> 软考(初级)> 程序员
题目内容 (请给出正确答案)
[主观题]

阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。【说明】 以下【C程序】的功

阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。

【说明】

以下【C程序】的功能是,逐一从指定课程成绩文件中读入学生的考号和成绩,对同一学生汇总他(她)的总成绩,并按如图6-14所示格式输出名次(按总成绩由高到底的顺序)、总成绩、同一名次的学生人数、同一名次学生的学号(按学号由小到大的顺序)。

阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。【说明】 以下【C程序

该应用程序约定学生学习课程不超过30种,课程成绩文件的第1个数字就是课程号。统计过程中,同一课程号的成绩文件不能重复输入。

该应用程序采用链表结构存储学生的相关信息,链表中的每个表元对应一位学生。在数据输入过程中,形成一个按学号从小到大顺序链接的有序链表。当数据输入结束后,程序按总成绩从高到低,学号从小到大的顺序对链表排序。最后程序按指定格式输出链表中的信息。

【C程序】

include<stdio.h>

define M 30

define NLEN 10

typedef struct node {

int cur_s; /* 最近输入成绩的科目*/

Char no[NLEN];

int score;

struct node *next;

} NODE;

int s[M], sp, ss, i, mark, order, C;

FILE *fp; NODE *h, *U, *V, *p;

Char fname[80], no[NLEN], ans;

main()

{ for(h = NULL, sp = 0; ;)

{ printf("输入科目成绩文件名(输入aaaa表示强行结束)。 \n");

while(1)

{ scanf("%s", fname);

if (strcmp(fname, "aaaa") == 0)

break;

if ((fp = fopen(fname, "r")) == NULL)

printf("不能打开文件%s, 请重新输入科目文件名。 \n", fname);

else

break;

}

if (strcmp(fname, "aaaa") == 0) break;

fscanf(fp, "%d", &ss); /* 输入科目号 */s[sp]=s;

for (i=0; s[i] ! = ss; 1++);

if ((1) )

{ printf("该科目的成绩已输入,请输入别的科目成绩文件。\n");

continue;

}

sp++;

while (fscanf(fp, "%s%d", no, &mark) == 2)

{ /* 在链表中寻找最近输入的学号 */

for(v = h; v != NULL && strcmp(v-> no, no)<0; u=v, v= v-> next);

if (v !=NULL && strcmp(v->no, nb) == 0)

{ /* 该生已有成绩 */

if (V->cur_s != ss)

{ /* 该生的当前科目成绩是第一次输入 */

v->score += mark; /* 累计总成绩 */

v->cur_s = ss;

} /* 同一科目成绩重复输入,后输入成绩被忽略 */

}

else

{ p = (NODE *)malloc(sizeof(NODE)); /* 一位新的学生 */

strcpy(p->no,no);

p->score = mark;

p->cur_s = ss;

p-> next = v;

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺…”相关的问题
第1题
设学生表S、课程表C和学生选课表SC的结构如下;S(学号,姓名,年龄,系别)C(课程号,课程名)SC(学号,课程号,成绩)查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。

A.SELECTS.姓名,SC.课程号,SC.成绩FROMSWHERES.学号=SC.学号

B.SELECTS.姓名,SC.课程号,SC.成绩FROMSCWHERES.学号=SC.成绩

C.SELECTS.姓名,SC.课程号,SC.成绩FROMS,SCWHERES.学号=SC.学号

D.SELECTS.姓名,SC.课程号,SC.成绩FROMS,SC

点击查看答案
第2题
查询选修课程号为“101”的课程得分最高的同学,正确的SQL语句是()。 A.SELECT学生.学号,姓名FROM
查询选修课程号为“101”的课程得分最高的同学,正确的SQL语句是()。

A.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND课程号=”101”AND成绩>=A11(SELECT成绩FROM选课)

B.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND成绩>=A11(SELECT成绩FROM选课 WHERE课程号=”101”)

C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩>:=:A11(SELECT成绩FROM选课 WHERE课程号=”101”)

D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号一选课.学号AND 课程号一”101”AND成绩>=A11(SELECT成绩FROM选课WHERE课程号一”101”)

点击查看答案
第3题
设有学生选课表:SC(学号,课程号,成绩),要求在该表中查询缺少学习成绩的学生学号和课程号,实现此
设有学生选课表:SC(学号,课程号,成绩),要求在该表中查询缺少学习成绩的学生学号和课程号,实现此查询要求的SELECT语句是______。

A.SELECT 学号,课程号 FROM SC WHERE 成绩 IS NULL

B.SELECT 学号,课程号 FROM SC WHERE 成绩 IS NOT NULL

C.SELECT 学号,课程号 FROM SC WHERE 成绩=NOT NULL

D.SELECT 学号,课程号 FROM SC WHERE 成绩=NULL

点击查看答案
第4题
设有表示学生选课的三张表,学生表(学号,姓名,性别),课程表(课程号,课程名),选课成绩表(学号,课程
设有表示学生选课的三张表,学生表(学号,姓名,性别),课程表(课程号,课程名),选课成绩表(学号,课程号,成绩),则选课成绩表的关键字为()。

A)课程号,成绩

B)学号,成绩

C)学号,课程号

D)学号,课程号,成绩

点击查看答案
第5题
已知表S(学号,姓名,年龄)SC(学号,课程号,成绩)C(课程号,课程名,教师名)试用SQL查询语句表达下列
已知表S(学号,姓名,年龄)

SC(学号,课程号,成绩)

C(课程号,课程名,教师名)

试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:

(1)统计有学生选修的课程门数.

(2)求选修C4课程的学生的平均年龄.

(3)求王平老师所授课程的每门课程的学生平均成绩.

(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.

(5)查询姓名以WANG开头的所有学生的姓名和年龄.

点击查看答案
第6题
设有学生表S(学号,姓名,性别,年龄)、课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是______。

A.SELECT 学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号=SC.学号 AND SC.学号=C.学号

B.SELECT 学号,姓名,课程名,成绩 FROM(S JOIN SC ON S.学号=SC.学号) JOIN C ON SC.课程号=C.课程号

C.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号

D.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON SC.课程号=C.课程号 ON S.学号=SC.学号

点击查看答案
第7题
查询成绩在70分至85分之间学生的学号、课程号和成绩,正确的SQL语句是 ______。

A.SELECT 学号,课程号,成绩FROM sc WHERE 成绩 BETWEEN 70 AND 85

B.SELECT 学号,课程号,成绩FROM sc WHERE 成绩>=70 OR 成绩<=85

C.SELECT 学号,课程号,成绩FROM sc WHERE 成绩>=70 OR<=85

D.SELECT 学号,课程号,成绩FROM sc WHERE 成绩>=70 AND<=85

点击查看答案
第8题
有如下三个关系模式:学生(学号,姓名,专业)课程(课号,课程名,学分)成绩(学号,课号,成绩)则在成绩关系中的外键是()。

A.学号,课号,成绩

B.学号,课号

C.学号,成绩

D.课号,成绩

点击查看答案
第9题
现有某高校的选修课记录(SC):学号、姓名、课程名称、成绩,要查询没有选修课成绩的学生和课程,正确的
现有某高校的选修课记录(SC):学号、姓名、课程名称、成绩,要查询没有选修课成绩的学生和课程,正确的SQL语句是()。

A.SELECT学号,课程号FROM sc WHERE成绩=””

B.SELECT学号,课程号FROM sc WHERE成绩=NULL

C.SELECT学号,课程号FROM SC WHERE成绩IS NULL

D.SELECT学号,课程号FROM SC WHERE成绩

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改