首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了4名学生的数据,则程序运行的结果为: 学号:N1002 学号:N1006 共有2位学生有不及
函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了4名学生的数据,则程序运行的结果为: 学号:N1002 学号:N1006 共有2位学生有不及
admin
2020-01-10
42
问题
函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了4名学生的数据,则程序运行的结果为:
学号:N1002 学号:N1006
共有2位学生有不及格科目
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
typedef struct
{char num[8];
double score[2];
/**********found**********/
} ___1___;
int fun(STU std[],int n)
{int i,k=0;
for(i=0; i<n;i++)
/**********found**********/
if(std
.score[0]<60___2___s td
.score[1]<60)
{k++;printf("学号:%s",std
.num);}
/**********found**********/
return___3___;
}
main()
{STU std[4]={"N1001",76.5,82.0,"N1002",53.5,73.0,"N1005",80.5,66.0,"N1006",81.0,56.0};
printf("\n共有%d位学生有不及格科目\n",fun(std,4));
}
选项
答案
(1)STU (2)|| (3)k
解析
本题中函数fun的功能是在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。这里用到了结构体,结构体在对于个人信息处理是有很方便的作用。只需要用到学生的分数和学号,所以这里的结构体的成员表列比较少。然后根据题目要求是要统计出不及格学生的人数并且查找和统计他们的学号,这里用到if条件语句即可进行统计,要注意的是这里学科数,要求只要有一门学科不及格即进入统计,所以要正确地给出条件语句。最后输出学号和人数。
第一空:“{……}___1___;”这一空出现在定义结构体时,这里使用了typedef就是很明显地要声明结构体类型,而这里则是要填写结构体类型名。这里就要知道typedef的作用了,typedef是用来命名已有类型的,相当于给已经知道的类型(如int float)一个新的类型名,而这里命名的是一个结构体,这不同于结构体的类型定义,大括号后面填写的不是变量名表列,而是结构体类型名,相当于给一个名称或者一种新的类型。而根据后面程序已给出的部分,我们能清楚的看到定义的结构体类型名是STU所以这一空应该填的是“STU”。
第二空:“if(std
.score[0]<60=p[0] std
.score[1]<60);”这一空出现在fun函数中的if条件语句中,根据if后面的执行语句我们可以看到执行的人数的统计,所以这里应该就是在判断学生学科分数是否及格的条件语句。对于一开始的结构体定义我们能够发现成员score是长度为2的数组,所以每个学生应该是有两门学科的分数需要来判定和统计的,而这两门学科中任意一门分数不]够的话都定义为不及格,然后统计进入人数中,这里所填空的两边是两门学科的分数低于60分,既然前面说了是任意一门低于60即进入统计,那这里就应该是“或’’符号才符合要求,所以这一空应该填“||”。
第三空:“return___3___;”这一空出现在fun函数中,这里要填写的是fun函数执行后的返回值。根据题目的要求函数是要查找不及格的科目的学生,找到学生学号,然后返回学生的人数,这一空前面已经执行了查找,统计人数和学号的输出,所以这里应该返回的就是不及格学生的人数。而根据前面的定义,人数统计的变量名应该是k,所以这一空应该要填写的是“k”。
转载请注明原文地址:https://kaotiyun.com/show/mWCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序voidfun(char*s){chara[10];main(){char*p="PROGRAM";strcpy(a,"STRING");fun(P);
如果定义floata[10],x;则以下叙述中正确的是
有下列程序:#include<stdio.h>/*fun函数的功能是将a所指数组元素从大到小排序*/voidfun(int*a,intn)main(){i
下列程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序voidf(intb[],intn,intflag)main(){inti,j,t;
若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是
有以下程序#include<stdio.h>main()intfun(){inti,s=1;{staticintx=1;for
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
下列选项中不属于软件生命周期开发阶段任务的是
定义学生选修课程的关系模式:SC(S#,Sn,C#,Cn,G)(其属性分别为学号、姓名、课程号、课程名、成绩)则该关系的主键为
若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是
随机试题
IwasonlyeightyearsoldwhentheSecondWorldWarended,butIcanstillremembersomethingaboutthecelebrationsinthesma
腭骨骨折X线检查首选
根据上表数据,可以画出时间与产量关系的散点图为()。根据上述散点图,可以假定骨干线为()。
下列事项中会引起长期股权投资账面价值变动的有()。
汇款人委托银行将款项汇给外地收款人的结算方式是()。
灯杆竖旗的规格一般尺寸为()。
应聘人员选拔的意义包括()。
5753
上一个冰川形成并从极地扩散的时期的一种珊瑚化石在比它现在生长的地方深得多的海底发现了。因此,尽管它与现在生长的这种珊瑚看起来没有多大区别,但能在深水中生长说明它们之间在重要的方面有很大的不同。以上论述依据下面哪个假设?
Pollutionofwatersuppliesisusuallyduetopoorhealthconditionsclosetowatersources,sewage【T1】______intothesourcest
最新回复
(
0
)