首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
admin
2010-09-14
39
问题
学生的记录由学号和成绩组成,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://www.kaotiyun.com/show/RWID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
我国宪法规定,公民有受教育的()。
根据《中华人民共和国中国人民银行法》的规定,我国货币政策的最终目标是(),并以此促进经济增长。
下列有关饮食的说法错误的是()。
甲挑唆乙(甲、乙均已成年)去打正在熟睡的狗,狗被激怒后追乙,恰巧丙经过,乙便躲在丙的身后,狗将丙咬伤。根据《侵权责任法》的有关规定,下列表述错误的是()。
刑法上的因果关系是指人的危害社会的行为与危害结果之间存在的()。
下列以平衡国际收支的暂时不平衡为主要功能的组织是()。
公开审判是指法院对案件的审理过程和判决结果向群众、向社会公开的制度,包括公开审理和公开宣判。下列关于公开审判制度的表述,哪一项是正确的?()
1949年后,中国积极主动地融入世界。将下列重大外交事件按时间先后顺序排列,正确的是()。①重返联合国②中美关系正常化③参加万隆会议④加人世界贸易组织
经济学上所推崇的“橄榄型”收入分配结构.是指低收人和高收入相对较少、中等收入占绝大多数的分配结构。我国正在采取措施,实施“提低、扩中、调高、打非、保困”的方针,使收入分配朝着“橄榄型”方向发展。这主要是为了促进()。
随机试题
手锤的规格是用手柄长度表示的。()
下列除哪项外可以用川芎治疗()
第二次抗原刺激时,IgG量显著增高的原因是
下列不属于肾病综合征临床特征的是
UnderCFR,thesellershouldpaytheinsuranceofthegoods()
根据《票据法》的规定,下列关于本票的表述中,不正确的是()。
WhatdidMs.Waringdobeforefillingouttheclaimform?()
(1)“照本宣科”的张老师张老师教高中历史课。他上课有一个习惯:就是不断地换眼镜。张老师有两副眼镜,一副是近视镜,一副是老花镜。他读课本的时候,就戴老花镜。他一旦带上了老花镜,就像黄牛喝水一般只管喝水,不轻易抬头。有时学生不听他上课,吵闹太厉害,他就换上
参照某种特定标准解释学生测验分数的测验,称为()。
在大街上有人看到一个小偷偷了别人的钱包就跑。于是就骑着车把那个小偷撞伤了。替失主拿回了钱包。你如何看他的这种行为?
最新回复
(
0
)