首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数
admin
2021-04-28
37
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #include<string.h>
3 #define N 16
4 typedef struct
5 { char num[10];
6 int s;
7 } STREC;
8 STREC fun(STREC *a,char *b)
9 {
10
11 }
12 main()
13 { STREC s[N]={{’’GA005’’,85},{’’GA003’’,76},{’’GA002’’,69},{’’A004’’,85},{’’GA001’’,91},{’’GA007’’,72},{’’GA008’’,64},{’’GA006’’,87},{’’GA015’’,85},{’’GA013’’,91},{’’GA012’’,64},{’’GA014’’,91},{’’GA011’’,77},{’’GA017’’,64},(’’GA018’’,64},{’’GA016’’,72}};
14 STREC h;
15 char m[10];
16 int i;FILE *out;
17 printf(’’The original data:\n’’);
18 for(2=0;i<N;i++)
19 { if(i%4==0) printf(’’\n’’);
20 printf(’’%s%3d’’,s
.num,s
.s);
21 }
22 printf(’’\n\nEnter the number: ’’);gets(m);
23 h=fun(s,m);
24 printf(’’The data:’’);
25 printf(’’\n%s %4d\n’’,h.num,h.s);
26 printf(’’\n’’);
27 out=fopen(’’out.dat’’,’’w’’);
28 h=fun{s,’’GA013’’};
29 fprintf(out,’’%4d\n’’,h.num,h.s);
30 fclose(out);
31 }
选项
答案
1 STREC c; 2 int i; 3 c.num[0]=’\0’;/*置初始空串*/ 4 c.s=-1; /*置成绩为-1*/ 5 for(i=0; i<N; i++) 6 if(strcmp(a[i].num,b)==0){/*判断学号是否相等*/ 7 strcpy(c.num, a[i].num);/*相等,则对学号进行赋值*/ 8 c.s=a[i].s;/*相等,则对成绩进行赋值*/ 9 break; /*退出循环体*/ 10 } 11 return c;/*返回结构体变量*/
解析
该程序功能是函数返回指定学号的学生数据,指定的学号在主函数中输入。解题思路是在循环过程中,使用if判断表达式,将输入的学号与所有的学号进行比较,如果找到该学号,将其赋值到指定变量,否则将空格赋值到指定变量,表明没有查找到该学号。
转载请注明原文地址:https://kaotiyun.com/show/7xtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
代码编写阶段可进行的软件测试是
以下叙述中正确的是
若有定义:floatx=1.5;inta=1,b=3,c=2;,则正确的switch语句是()。
在软件开发中,需求分析阶段可以使用的工具是
设有定义语句int(*f)(int);则以下叙述正确的是
关于字符数组定义中存在语法错误的是()。
将E-R图转换为关系模式时,实体和联系都可以表示为()。
一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是
已有定义:charc;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是
软件需求规格说明书的作用不包括
随机试题
提高蒸发效率措施中错误的是
A.慢性萎缩性胃炎B.胃淀粉样变性C.Menetrier病D.疣状胃炎E.非感染性肉芽肿性胃炎病理表现为胃小凹延长扭曲,深处有囊样扩张,伴壁细胞和主细胞减少,胃黏膜层明显增厚的是
A.K+外流B.Ca2+内流和K+外流C.Na+内流D.Ca2+缓慢内流E.Na+和Ca2+内流心室肌细胞2期平台期主要是由于
患者,男,31岁,运动后右侧第一跖趾关节疼痛3天,伴随皮肤红肿、发热,压痛明显,痛不可触,遇热痛甚,得冷则舒,病势较急,无踝、膝、腕、指、肘关节疼痛。口渴。心烦,汗出不解,舌质红,苔黄,脉滑数。胃溃疡病史1个月。血常规:白细胞计数6.45×109/L。
索赔费用计算方法不包括()。
深圳证券交易所于()正式营业。
在其他条件不变时,若使利润上升50%,单位变动成本需下降20%;若使利润上升40%,销售量需上升15%,那么()。
近现代西方科学与人文两种文化经历了融合、冲突和消解三个时期,反映到教育理念上也相应地经历了科学教育与人文教育的相互______、越走越远和共同反思三个阶段。这一历史发展表明,过分强调科学文化和科学教育,必然导致对人文的______;而过分强调人文文化和人文
十八大提出了“美丽中国”的理念,这对你有什么启示?
在《三国演义》中,诸葛亮是智慧的化身;在《水浒传》中智谋出众的人是()。
最新回复
(
0
)