首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学牛结构体数组,存储若干名学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。 清在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,
程序通过定义学牛结构体数组,存储若干名学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。 清在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,
admin
2019-06-12
30
问题
程序通过定义学牛结构体数组,存储若干名学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。
清在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
struct student{
long sno:
char name[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("The original data:\n");
for(j=0;j<4;j++)
{
printf("\nNo:%1d Name:%一8s
Scores:",s[j].sno,s[j].name);
for(i=0;i<3;i++)
printf("%6.2f",s[j].score
);
printf("\n");
}
fun(S,4);
printf("The data after sorting:\n");
for(j=0;j<4;j++)
{
printf("\nNo:%ld Nanle:%一8s
Scores:",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/mVRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#includemain(){intx=1,y=2,z=3;if(x>y)if(y
设有定义:intx=0,*p;紧接着的赋值语句正确的是()。
有以下程序#includemain(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入
以下叙述中正确的是()。
在数据管理技术发展的三个阶段中,数据共享最好的是()。
下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和,和值通过函数值返回。例如,若n=5,则应输出8.391667。请改正程序中的错误,使其得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#
下面结构体的定义语句中,错误的是()。
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为指针指向链表的第一个结点。若有以下程序段q=s;s=s->next;p=s;while(p->next)p=p->n
C语言中char类型数据占字节数为
随机试题
烟熏茶是哪一地区的饮茶习俗
男性,60岁。患胃溃疡已10年,近3个月来上腹痛变为无规律,食欲减退,体重下降,有胃溃疡恶变可能,关于溃疡型胃癌X线钡餐检查下列哪一项最有助于诊断
27岁初产妇,妊娠40周,阵发性腹痛10小时,宫缩10~15分钟/次,持续3秒,宫口开大2cm。出现上述临床表现的原因是()
在做油罐罐壁的强度及严密性试验时,应以灌到设计最高液位且保持( )小时罐壁无渗漏、无异常变形为合格。
选择施工方法的依据正确的有()。
我国最著名的流纹岩山地是()。
实施居民自治的前提是()。
社会公德是协调人们关于道德的准则。()
《资治通鉴》成书于:
你有一项投资将在1年后付给你300美元,2年后付给你400美元,3年后付给你500美元,以及4年后付给你600美元。从类似的投资中,你可以赚取10%的报酬。那么,你最多应该为这项投资支付多少钱?(广东财经大学2013真题)
最新回复
(
0
)