首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数
admin
2019-03-19
32
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 1 6
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 m[10];
int i;FTLE*out;;
printf("tThe original data:\n");
for(i=0; i
{ if(i%4==0)printf("\n");
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",in.num,h.s);
printf("\n");
out=fopen("out;.dat","w");
h=fun(s,"GA013");
fprintf(out,"%s%4d\n",h.num,h.s);
fclose(out);
}
选项
答案
STREC c; int i; c.num[0]=’\0’; /*置初始空串*/ c.s=一1; /*置成绩为一1*/ for(i=0; i
解析
该程序功能是函数返回指定学号的学生数据,指定的学号在主函数中输入。解题思路是在循环过程中,使用if判断表达式,将输入的学号与所有的学号进行比较,如果找到该学号,将其赋值到指定变量,否则将空格赋值到指定变量,表明没有查找到该学号。
转载请注明原文地址:https://kaotiyun.com/show/oBRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下不能正确进行字符串赋初值的语句是
有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];fo
以下四组用户自定义标识符中,全部合法的一组是()。
运行下列程序时,若输入数据为“321”,则输出结果是()。main(){intnum,i,j,k,s;scanf(“%d”,&num);if(num>99)s=3:
有以下程序#includemain0{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是
以下程序的运行结果是_______。#include"stdio.h"main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=a+5,*q=NULL;
数据库的故障恢复一般是由()
以下程序的输出结果为【】。main(){intk=1;white(k<=15)if(++k%3!=2)continue;elseprintf("%d",k);print
有如下程序 #include<stdio.h> main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16)); int i,s=0; for(i=0;i<4;i++)s+=a[i
以下函数返回a所指数组中最小的值所在的下标值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i
随机试题
Oldpeoplearealwayssayingthattheyoungarenotwhattheywere.Thesamecommentismadefromgenerationtogenerationandi
A.甲胎蛋白B.碱性磷酸酶C.乳酸脱氢酶D.丙氨酸氨基转移酶E.透明质酸反映肝细胞实质损害的是
患者因脑干出血死亡,患者家属认为是医生用药有误造成。医患双方当事人不能确定死因或者对死因有异议的,应当尸检。当地不具备尸体冻存条件的,尸检的期限是
某交通局局长胡某,因涉嫌贪污、受贿、挪用公款等多项罪名而被人民检察院立案侦查。在侦查期间,胡某聘请了律师刘某为其提供法律帮助,而其本人被羁押。本案中,如果胡某的妻子阿洁作为保证人,为胡某申请了取保候审,那么当胡某违反了被取保候审的人应当遵守的法定义务而阿洁
Thefiveprimarymodesoftransportationarerail,road,pipeline,water,andair.Eachhasdifferenteconomicandservicechara
股票与债券具有有价证券的共同的性质和特征,但它们主要区别在于()。
教师启发学生进行自觉概括的最常用方法是鼓励学生主动参与________。
TheOnlyWayIsUpThinkofamoderncityandthefirstimagethatcomestomindistheskyline.Itisfullofgreatbuildin
A、 B、 C、 D、 D动词单复数搭配错误,应改为dares。dare既可用作情态动词也可以用作实义动词。dare用作情态动词时无人称和数的变化,后直接加动词原形。用作实义动词时有人称和数的变化,后接动
Artcanbemadeofalmostanything,includingsubstances【M1】_______thathavenotbeenproducedandusedinages,a
最新回复
(
0
)