首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的
admin
2010-09-14
37
问题
学生的记录由学号和成绩组成,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全国计算机二级
相关试题推荐
阿尔泰国立大学的生物学家研制出转基因成分快速检测仪.可在较短时间内检测出食品中是否含有某种转基因成分。以下对转基因说法错误的是()。
根据《行政处罚法》的规定,下列关于行政拘留的说法正确的是()。
亚欧大陆中部、北美洲中部和南美洲南部分布着()。
在当事人没有约定、法律亦无特别规定的情况下,买卖合同中的财产所有权的转移时间是()。
能直接证明门捷列夫元素周期表理论正确的是(,)。
推进物联网的应用和发展,对于提高国民经济和社会生活信息化水平,提升社会管理和公共服务水平。带动相关学科发展和技术创新能力增强,推动产业结构调整和发展方式转变具有重要意义,为此我国制定了推进物联网有序健康发展的基本原则。下列不属于此原则的是()。
甲、乙两个仓库共存药45吨,现从甲仓库调出库存的60%,从乙仓库调出库存的40%支援非洲,结果两仓库药品库存相差3吨。甲、乙仓库原本库存的比例可能是多少?
有5个连续自然数,它们的和为一个平方数,中间三个数的和为立方数,则这五个数中最小数的最小值为多少?
影子银行是指游离于银行监管体系之外、可能引发系统性风险和监管套利等问题的信用中介体系,它具有融资贷款中介功能,却游离于货币管理当局的传统货币政策监管之外。下列不属于影子银行的是()。
下图为我国东部沿海地区某城市功能区分布略图,若图中城镇规划合理,避免了工业大气污染对住宅区的影响,则其指向标是()。
随机试题
习近平新时代中国特色社会主义思想的核心要义是()
糖原贮积病Ⅰ型是由于缺乏哪种酶所引起
上消化道大出血时,以下不能判定有继续出血或再出血的是
用不同的估价方法测算出的结果可能会有所不同。当这些测算结果有较大的差异时,估价人员应寻找导致较大差异的原因,并消除不合理的差异。寻找导致较大差异的原因主要有以下几方面:①基础数据是否准确;②测算过程是否有错误;③参数选取是否合理;④公式选用是否恰当;⑤所选
提高政府投资效益的途径有()。
我国历史上曾出现这样一句顺口溜:“肥猪赛大象,就是鼻子短。全社杀一口,足够吃半年。”这句顺口溜应出现在()。
现在我们常用“阳春白雪”和“下里巴人”指代高雅和通俗的文艺作品。请问这两个成语最初指的是()。
2006年哪个地区的电信固定资产投资额最低()。根据图表,以下说法正确的一项是()。
一种商品,甲店进货价比乙店便宜12%,两店同样按20%的利润定价,这样同样1件商品乙店比甲店多24元利润。甲店的定价是多少元?
Politicalcontroversyaboutthepublic-landpolicyoftheUnitedStatesbeganwiththeAmericaRevolution.(1)_____,evenbefore
最新回复
(
0
)