首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体数组,存储若干名学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序
程序通过定义学生结构体数组,存储若干名学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序
admin
2019-03-06
78
问题
程序通过定义学生结构体数组,存储若干名学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < string.h >
struct student{
long sno;
char F1&me[10];
float score[3];
};
void fun(struct student a[],int n)
{
/*********found*********/
【1】
t;
int i,j;
/*********found*********/
for(i=0;i <
【2】
;i++)
for(j=i+1; j < n;j++)
/*********found*********/
if(strcmp(
【3】
) >0)
{t=a
;a
=a[j];
a[j]=t;
}
}
main()
{ struct student s[4]=
({10001,"ZhangSan",95,80,88},
{10002,"LiSi",85,70,78},
{10003,"CaoKai",75,60,88},
{10004,"FangFang",90,82,87)};
int i,j;
printf,"\n\ nThe original
data:\n\n");
for(j=0;j < 4;j++)
{printf("\nNo:%ld Name:
%一8sscor.es:",s[j].sno,s[j].
name);
for(i=0;i < 3;i++)
printf("%6.2 f",
s[j].score
);
printf("\n");
}
fun(s,4);
printf ("\n\nThe data after
sorting:\n\n");
for(j=0;j < 4;j++)
{printf("\nNo:%ld Name:%一8sscores:",s[j].sno,s[j].
name);
for(i=0;i < 3;i++)
printf("%6.2f",s[j].score
);
printf("\n");
}
}
选项
答案
(1)struct student (2)n一1 (3)a[i].name,a[j].name
解析
本题考查:变量定义;for循环语句;strcmp函数;
结构体变量的表示方法。
填空1:变量t是中间变量,用来存放结构体数组中的元素,因此应定义为结构体类型。
填空2:for循环语句用来遍历结构体数组,n是数组的长度,因此循环变量的取值范围是0一n一1。
填空3:字符串比较函数strcmp的一般格式为 “strcmp(字符串1,字符串2)”。
功能:按照ASCII码顺序比较两个字符数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;
字符串1 >字符串2,返回值 >0;
字符串1 < 字符串2,返回值 < 0。
转载请注明原文地址:https://kaotiyun.com/show/ZbRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是______。main(){inta[]={31,27,20,12,6,1},*p=a;p++;printf("%d\n",*(p+
已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【】。#include<stdio.h>main(){chara,b;a=getchar();scanf("
现有格式化输入语句,scanf("x=%d,sumy=%d,linez=%dL",&x,&y,&z),现在已知在输入数据后,x,y,z的值分别是12,34,45则下列的数据是正确的输入格式的是
下述函数统计—个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。intword(char*s){intnum=0,flag=0;while(*s){if(【】=’’)flag=0;elseif(【】){
若给fun函数的形参s传送字符串:"abc-6354abc",则函数的返回值是()。(字符串中包括空格)longfun(charS[]){longn;intsign;for(;isspace(*s)||islow
执行程序时的输入为123456789,则程序的运行结果为_____________。#include“stdio.h”main(){inta,b;scanf(“%2d%*2d%1d”,&a,&b);
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为()。
下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其他元素不变,请填空。#include<stdio.h>main(){chara[]="labchmfye",t:int1,j;for(i=0;
随机试题
根据《麻醉药品和精神药品管理条例》,医院从药品批发企业购进第一类精神药品时
人身保险合同中,投保人申报的被保险人年龄不真实,并且其真实年龄不符合合同约定的年龄限制的,保险人可以解除合同,并且在扣除后续费后,向投保人退还保险费,但是()除外。
资料(一)骏达钢铁股份有限公司(以下简称骏达股份)是无缝钢管、不锈钢管、彩板、海绵铁、铁合金、铜线杆、铝线等多种冶金产品为一体的上市公司。其控股股东为为骏洋集团。骏达股份2013年度财务报表由中营会计师事务所审计。哲诚会计师事务所于20
对于在航线上运行的班轮,其运行班期按其生产周期计算,计算依据是:()、港口装卸效率和在港装卸货物的数量、其他可能发生的耗时因素。
如何避免学生产生习得性无助感?
潜在课程主要是指()
等音调:
软件设计模块化的目的是()。
"Deadpool",whichsofarhastakenmorethan$500mincinemasworldwide,isanatypicalblockbuster,afoul-mouthedanti-hero
September17,2010Ms.RoseanneHawthorne32DarionStreetKaleen2231OmahaCityDearresident,Thisis
最新回复
(
0
)