首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
admin
2010-09-14
9
问题
学生的记录由学号和成绩组成,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全国计算机二级
相关试题推荐
下面关于蛋白质分子结构与功能的叙述。错误的是()。
扩张性货币政策的主要功能是()。
近代中国思想界的“西学东渐”经历了一个由理论到实践、由照抄照搬到与中国实际情况相结合的发展历程。下面体现这两个步骤的标志性事件分别是()。
若一个三角形的所有边长都是整数,其周长是奇数,且已知其中的两边长分别为8和2012.则满足条件的三角形总个数是?
某区对用电的收费标准规定如下:每月每户用电不超过10度的部分,按每度0.45元收费;超过10度而不超过20度的部分,按每度0.80元收费;超过20度的部分,按每度1.50元收费。某月甲用户比乙用户多交电费7.10元,乙用户比丙用户多交3.75元,那么甲、乙
掷两个骰子,掷出的点数之和为奇数的概率为P1。掷出的点数之和为偶数的概率为P2,问P1和P2的大小关系是()。
子路问老师:什么样的人算是君子?孔子说“修己以敬”。子路意犹未尽,追问道:“如斯而已乎?”孔子回答道:“修己以安人。”子路仍心有不甘,继续追问道:“如斯而已乎?”孔子答:“修己以安百姓”,接着又补充说,修己以安百姓,这是尧、舜大概还难以做到的啊!从这个“修
①在无意义面前,大脑由于寻找不到答案而引发焦虑,当然这是积累到固定阈值之后的事情②权利是伴随选择而产生的,譬如电视机的频道转换器就给了观众看与不看的权利③人的大脑有一种无法改变的功能,即不断地追索词语以及所有事情的意义④如果在
影子银行是指游离于银行监管体系之外、可能引发系统性风险和监管套利等问题的信用中介体系,它具有融资贷款中介功能,却游离于货币管理当局的传统货币政策监管之外。下列不属于影子银行的是()。
下图为我国东部沿海地区某城市功能区分布略图,若图中城镇规划合理,避免了工业大气污染对住宅区的影响,则其指向标是()。
随机试题
卫生法中刑事责任的犯罪构成是
背景某建筑工程,建筑面积35000m2;地下2层,地上25层,筏板基础,钢筋混凝土剪力墙结构。室内隔墙采用加气混凝土砌块。建设单位依法选择了施工总承包单位,签订了施工总承包合同。合同约定:室内墙体等部分材料由建设单位采购;建设单位同意施工总承包单位将部分
资产的重组方式有( )。
对资源税征税范围中未列举名称的其他非金属矿原矿和其他有色金属矿原矿,由省、自治区、直辖市人民政府决定征收或暂缓征收资源税,并报( )备案。
在一定血压范围内肾血流量保持相对稳定主要靠()。
艺术:生活()
政府在开展一个关于政府工作作风的评议活动。现在需要对群众在评议活动中所反映的情况进行调研。领导把这个任务交给你。你会怎么做?
假设用12个二进制位表示数据。它能表示的最大无符号整数为(8);若采用原码,它能表示的最小负整数为(9)。
请在“考试项目”菜单上选择相应的菜单项完成以下内容:接收并阅读由ncre@163.com发来的E-mail,并回复内容为:“您所索要的E-mail地址是:mcre@sina,com”。【注意】“格式”菜单中的“编码”命令中用“简体中文
MostradioandtelevisionstationsintheUnitedStatesarecommercialstations,【C1】______istosay,theyearntheirmoneyfrom【
最新回复
(
0
)