首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。 例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:1
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。 例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:1
admin
2013-04-02
33
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:10001、”ZhangSan”、95、80、88,修改后输出t中的数据应为:10002、”LiSi”、96、81、89。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构l
#include
#include
struct student {
long sno;
char name[10];
float score[3];
};
/**********found**********/
【1】fun(struct student *a)
{int i;
a->sno = 10002;
strcpy(a->name, "LiSi");
/**********found**********/
for (i=0; i<3; i++) 【2】+= 1;
/**********found**********/
return 【3】;
}
main()
{struct student s={10001,"ZhangSan", 95, 80, 88}, *t;
int i;
printf("\n\nThe original data :\n");
printf("\nNo: %ld Name: %s\nScores: ",s.sno, s.name);
for (i=0; i<3; i++) printf("%6.2f ", s.score
);
printf("\n");
t = fun(&s);
printf("\nThe data after modified :\n");
printf("\nNo: %ld Name: %s\nScores: ",t->sno, t->name);
for (i=0; i<3; i++) printf("%6.2f ", t->score
);
printf("\n");
}
选项
答案
struct student* a->score[i] a
解析
第一空:主函数内fun函数的调用形式是“t=fun(&s);”,t是student结构体指针,故fun函数的返回值是student结构体指针,因此第一空为“struct student *”。
第二空:“for (i=0; i<3; i++) __2__+=1;”是修改a的score数组元素的值,故第二空为“a->score
”。
第三空:此处补充返回值,由第一空的分析可知,返回值是指针,a是指针变量,所以返回值为a,即第三空为“a”。
转载请注明原文地址:https://kaotiyun.com/show/9DJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下关于函数的叙述中正确的是 ______。
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;[];i++){j=i*10
以下程序的输出结果是[]。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=-a[i][i]+a[i][3-i
有以下程序 fun(char p[][10]) {int n=0,i; for(i=O;i<7;i++) if(p[i][O]=T)n++; return n; } main
有以下程序 main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i-0;i<3;i++) printf("%d",t[2-i][i]); }
下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:#defineN4voidsort(inta[][N])
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){intx[10],a[9],i;for(i=0;i<10;i++)scanf("%d",&x[i]);for(【
在数据库系统中,实现各种数据管理功能的核心软件称为【 】。
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值 10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:口代表空格字符)
随机试题
货币的购买力与一般物价水平呈反比,是一般物价水平的()。
A、Ajoblisting.B、Apermissionslip.C、Apersonalresume.D、Asalaryrequirement.B录音中提醒学生咨询时besuretobringaresume“一定要带上自己的
(2010年4月)我国公务员实行的是“______”(简称职级工资制)。
医师在治疗中确认一名肝癌患者,妥当的做法应是
A.尿道吻合术B.留置尿管C.绝对卧床,密切观察D.膀胱造瘘术E.下床活动肾挫伤时行()
下列属于农民集体的是()。
甲、乙均为国有企业,甲向乙购买一批货物,约定采用托收承付验货付款结算方式。2013年3月1日,乙办理完发货手续,发出货物;3月2日,乙到开户行办理托收手续;3月10日,铁路部门向甲发出提货通知;3月14日,甲向开户行表示承付,通知银行付款。则承付期的起算时
发生下列情形(),保险合同可以终止。
区分事物发展过程中量变和质变的根本标志是()。
下列字符串中,不可以用做C++标识符的是()。
最新回复
(
0
)