首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
admin
2010-09-14
42
问题
学生的记录由学号和成绩组成,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://kaotiyun.com/show/RWID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列应对自然灾害的做法,错误的是()。
金融市场最基本的功能是()。
“九鼎既成,迁于三国。夏后氏失之,殷人受之;殷人失之,周人受之。”其中所说的“九鼎”之所以被广泛重视并在夏商周流转,主要因为它是()。
推进物联网的应用和发展,对于提高国民经济和社会生活信息化水平,提升社会管理和公共服务水平。带动相关学科发展和技术创新能力增强,推动产业结构调整和发展方式转变具有重要意义,为此我国制定了推进物联网有序健康发展的基本原则。下列不属于此原则的是()。
张某因逆行驾驶被交通警察李某拦截.李某口头作出罚款200元的处罚决定,并要求当场缴纳。张某要求出具书面处罚决定和罚款收据,李某认为其要求属于强词夺理,拒绝听取其申辩。关于该处罚决定,下列哪个说法是正确的?()
能够根据样本结果推断总体数量特征的调查方式是()。
某书店出售一种挂历,每售出1本可得18元利润。售出一部分后每本减价10元出售,全部售完。已知减价出售这种挂历本数是原价出售挂历的三分之二。书店售完这种挂历共获得利润2870元,书店一共出售这种挂历多少本?
某小学五年级的学生身高(按整数厘米计算),最矮的是138厘米,最高的是160厘米。如果任意从这些学生中选出若干人,那么,至少要选出多少人才能保证有5人的身高相同?
从1、2、3、4、5、6、7、8、9这几个数字中选择3个数字,使它们的乘积能够被9整除,问共有多少种不同的方法?
将1、2、3、4、5、6、7、8、9九个数排成一行,使得第二个数整除第一个数,第三个数整除前两个数的和,第四个数整除前三个数的和,……,第九个数整除前八个数的和。如果第一个数是6,第四个数是2,第五个数是1。排在最后的数是几?
随机试题
全口义齿修复咬合不平衡可造成A.基托边缘封闭差义齿易脱落B.使支持组织受力不均匀C.损坏支持组织的健康D.加速牙槽嵴的吸收E.加速义齿面的磨耗
运算电路如图所示,要使u0=5ui,RF应取( )kΩ。
微机中内存储器指的就是只读存储器(ROM)。()
下列不属于同定资产核算子系统功能的是()。
某企业为增值税一般纳税人,2014年应交各种税金为:增值税420万元,消费税315万元,城市维护建设税35万元,房产税15万元,车船税5万元,所得税250万元。上述各项税金中,应计入管理费用的金额为()万元。
IntheUnitedStates,therewasanunusualtaletellingofthedaughterofamechanic(技工)•Onedaywhilewalkingalongthebankof
下列哪个不属于小学和初级中学的学生享有的权利?()
物质文化、技术文化的传播,其意义不仅仅局限于物质的和技术的领域,它们还可能影响人们的精神世界和生活方式,甚至产生意料之外的效果。因为这些物质产品和技术发明,还体现了创造者、发明者的精神理念、审美情趣和价值追求,体现了他们作为某一文化共同体成员所接受的文化传
鉴别卵巢浆液性囊腺癌与交界性浆液性囊腺瘤,下列哪一点是最主要的
作为公民社会经济权利之一的社会保障权,是指公民享有国家提供维持有尊严的生活的权利。其基本特征包括
最新回复
(
0
)