首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
admin
2010-09-14
16
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。
注意: 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio. h>
#inctude<stdlib. h>
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
STREC fun(STREC *a, char *b)
{
}
main ( )
{
STREC s [N]={ { "GA005", 85}, {"GA003", 76},
{ "GA002", 69 }, { "GA004", 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 } };
STREC h;
char re[10];
int i, n;
FILE *out;
printf ("The original data: \n");
for (i=0; i<N; i++)
{ if (i%4==0)
printf ("In");
/*每行输出4个学生记录*/
printf("%s %3d" ,s
num, s
s);
}
printf("\n\nEnter the number: ");
gets (m);
h=fun (s,m);
printf ("The data: ");
printf("\n%s %4d\n",h.num, h.s);
printf ("\n");
out=fopen ("out80. dat", "w");
h=fun (s, "GA013");
fprintf(out, "%s %4d\n",h.num, h.s);
fclose (out);
}
选项
答案
STREC fun(STREC *a, char *b) { int i; STREC str={"\0",-1}; /*若没找到掼定的学号,在结构体变量中给学号置空串,给成绩置-1*/ for (i=0; i<N; i++) if (strcmp (a [ i] .num, b)==0) /*找到指定学号的学生数据*/ str=a [i]; return str; /*返回学生记录* / }
解析
本程序一开始先使结构体变量str的学号为空串,成绩为-1。题中循环体的功能是搜索所有学生的学号并判断是否有学号与b所指字符串相同的(即找到),若找到则给str重新赋值(str=a
),若没找到则str成员的值还是原有值(即未找到时学号返回空串,成绩返回-1)。
题中已经给出字符串的比较只能用strcmp()函数,而不能直接进行比较,我们在改错题分析中已经详细讲述了字符串操作函数,如strcmp(),strcat(),strcpy()和strlen()等,希望学习者能熟练掌握。
转载请注明原文地址:https://jikaoti.com/ti/fIkiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列叙述中,错误的是()。
阿尔泰国立大学的生物学家研制出转基因成分快速检测仪.可在较短时间内检测出食品中是否含有某种转基因成分。以下对转基因说法错误的是()。
根据《行政处罚法》的规定,下列关于行政拘留的说法正确的是()。
下列有关饮食的说法错误的是()。
推进物联网的应用和发展,对于提高国民经济和社会生活信息化水平,提升社会管理和公共服务水平。带动相关学科发展和技术创新能力增强,推动产业结构调整和发展方式转变具有重要意义,为此我国制定了推进物联网有序健康发展的基本原则。下列不属于此原则的是()。
养花专业户李某为防止偷花,在花房周围私拉电网。一日晚,白某偷花不慎触电.经送医院抢救,不治身亡。李某对这种结果的主观心理态度是什么?()
行政行为作出后,非依法定程序不得随意变更或撤销,这是行政行为的()。
经济学上所推崇的“橄榄型”收入分配结构.是指低收人和高收入相对较少、中等收入占绝大多数的分配结构。我国正在采取措施,实施“提低、扩中、调高、打非、保困”的方针,使收入分配朝着“橄榄型”方向发展。这主要是为了促进()。
某书店出售一种挂历,每售出1本可得18元利润。售出一部分后每本减价10元出售,全部售完。已知减价出售这种挂历本数是原价出售挂历的三分之二。书店售完这种挂历共获得利润2870元,书店一共出售这种挂历多少本?
随机试题
聚驱所取样品应在()之内检测完毕。
两个一百年目标是指()。
患者女性,60岁,平素睡眠不佳,常服朱砂安神丸,此次因急性心肌梗死入院。入院常规查血肌酐187μmol/L,行冠脉造影及PTCA治疗后复查血肌酐369μmol/L,该患者肾功能恶化最可能的原因是
关于先天性甲状腺功能减低症治疗错误的是
选择会计软件时,应当首先考虑软件的审计性。()
用韦氏智力量表测得一个老人和一个儿童的智商都是120,说明他们的智力水平一样。()
在调查研究的方法中,以某类事物中的一部分作为调查对象,通过对这一部分对象的分析比较,从而推断出整体情况的一种调查方法,被称为()。
根据编码规则是按照读音还是字形,汉字的输入码可分为()。
InSeptember,inBritain,youmayseealotofbirds【C1】______onroofsandtelegraphwires.Thesebirdsareswallows.Theyare
Designingforsustainability:whatarethechallengesbehindgreenmaterials?A)LearningtosurfinCalifornia’sicybreakers,T
最新回复
(
0
)