首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数
admin
2018-09-27
30
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #include<string.h>
3 #define N 16
4 typedef struct
5 { char num[10];
6 int s;
7 } STREC;
8 STREC fun(STREC *a,char *b)
9 {
10
11 }
12 main()
13 {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}};
14 STREC h;
15 char m[10];
16 int i;FILE *out;
17 printf(’’The original data:\n’’);
18 for(i=0;i<N;i++)
19 { if(i%4==0)printf(’’\n’’);
20 printf(’’%s%3d’’,s
.num,s
.s);
21 }
22 printf(’’\n\nEnter the number:’’);gets(m);
23 h=fun(s,m);
24 printf(’’The data:’’);
25 printf(’’\n%s%4d\n’’,h.hum,h.s);
26 printf(’’\n’’);
27 out=fopen(’’out.dat’’,’’w’’);
28 h=fun(s,’’GA013’’);
29 fprintf(out,’’%s %4d\n’’,h.num,h.s);
30 fclose(out);
31 }
选项
答案
1 STREC c; 2 int i; 3 c.num[0]=’\0’;/*置初始空串*/ 4 c.s=-1;/*置成绩为-1*/ 5 for(i=0;i<N; i++) 6 if(stramp(a[i].num,b)==0){/*判断学号是否相等*/ 7 strcpy(c.num,a[i].num);/*相等,则对学号进行赋值*/ 8 c.s=a[i].s;/*相等,则对成绩进行赋值*/ 9 break;/*退出循环体*/ 10 } 11 return c;/*返回结构体变量*/
解析
该程序功能是函数返回指定学号的学生数据,指定的学号在主函数中输入。解题思路是在循环过程中,使用if判断表达式,将输入的学号与所有的学号进行比较,如果找到该学号,将其赋值到指定变量,否则将空格赋值到指定变量,表明没有查找到该学号。
转载请注明原文地址:https://kaotiyun.com/show/C8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有如下程序:#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)
以下程序的输出结果是【】。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) { inti=2,j=3; printf("%d\n",MCRB(j,MCRA(i)
有以下程序voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}main(){inta=4,b=3,c=5;f
若有说明chars1[30]="abc",s2[]="defghi";,则在使用函数strcat(s1,s2)后,结果是()。
有以下程序 void f(int*x,int*y) { int t; t=*x;*x=*y;*y=t; } main() { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p { f(p,q)
以下函数值的类型是______。fun(floatx){floaty;y=3*x-4;returny;}
以下程序中函数huiwen.的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#include<string.h
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
在表示C语言的整型变量时,表示“无符号整型”的符号是()
已有定义:inti,a[10],*p;,则合法的赋值语句是
随机试题
患者,男性,28岁。双下肢进行性无力3天。现无法上楼,尿潴留。有冶游史,2周前感冒。查体:T4平面以下深浅感觉消失,双下肢肌力2级,腱反射消失,Babinski征阳性。脑脊液细胞数0,蛋白质0.1g/L,糖和氯化物正常,RPR阴性。MRI示胸4~9脊髓略增
A.红肿、灼痛、无水疱B.张力较大的水疱,剧痛C.水疱张力小,疼痛,基底红白相间D.干燥、焦和蜡白E.水疱,基底水肿,感觉迟钝I度烧伤表现为
5m高的重力式挡土墙,尺寸如图6—31所示。已知墙体砌体重度γk=22kN/m3;墙背与竖直面的夹角ε=10°,填土面的倾角β=10°,填土与墙体的摩擦角δ=15°;填土为均质无黏性土:φ=30°,γ=18kN/m3。设计该挡土墙。根据《建筑地基基础
担任单位会计机构负责人的条件之一,是具有从事会计工作5年以上的工作经历。()
(2002年真题)出版单位向新闻出版总署报告重大选题备案时,应当填写备案登记表并且还要提交()。
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
狗、猪、鸡:窝、圈、舍
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
Sinceateacher’sresponseonastudent’spaperispotentiallyaninfluentialtextinawritingclass,weneedtoexamineourpr
Itisoftensaidthatpolitenesscostsnothing.Infact,itseemsthatalittlemorecourtesycould【C1】______businesses£5bil
最新回复
(
0
)