收藏 分销(赏)

C语言程序设计题目及解答-13.doc

上传人:xrp****65 文档编号:5904700 上传时间:2024-11-23 格式:DOC 页数:5 大小:125KB
下载 相关 举报
C语言程序设计题目及解答-13.doc_第1页
第1页 / 共5页
C语言程序设计题目及解答-13.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
一、判断题 (16分) 1. 结构体类型的数据是由不同类型的数据组合而成的。2分 2. 一旦定义了某个结构体类型后,系统将为此类型的各个成员项分配内存单元。2分 3. 被定义为指向某结构体类型数据的指针变量,即可以指向具有该类型的变量,又可以指向它其中的一个成员。2分 4. 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。2分 5. 在内存中存储结构体类型的变量要占连续一段的存储单元。2分 6. 对结构体变量不能进行整体输入输出。2分 7. 结构体类型数据在内存中所占字节数不固定。2分 8. 结构体类型只有一种。2分 二、选择题 (4分) 1.设有以下说明语句 struct stu {int a; float b; } stutype; 则下面的叙述不正确的是( )。   [C] 2分 A. struct是结构体类型的关键字 B. struct stu是用户定义的结构体类型 C. stutype是用户定义的结构体类型名 D. a和b都是结构体成员名 2.C语言结构体类型变量在程序运行期间( )。   [B] 2分 A. TC环境在内存中仅仅开辟一个存放结构体变量地址的单元 B. 所有的成员一直驻留在内存中 C. 只有最开始的成员驻留在内存中 D. 部分成员驻留在内存中 三、程序填空题 (10分) 1. 编写程序,输入一个日期的数组,大小为N,调用函数比较这个数组中的日期,返回最大的日期,并输出这个日期 10分 #include <stdio.h> #define N 4 struct date{ int year; int month; int day; }; struct date dateMax(__(1)__) { struct date max = __(2)__; int i; for( i = 1; i < N; i++) { if(dateArray[i].year > max.year) { max = dateArray[i]; } else if(dateArray[i].year == max.year) { if(__(3)__) { max = dateArray[i]; } else if(dateArray[i].month == max.month) { if(dateArray[i].day >= max.day) { __(4)__; } } } } return max; } int main() { struct date dateArray[N],s; int i; for( i = 0; i < N; i++) { printf("请输入第%d个日期:",(i+1)); scanf("%d%d%d",&dateArray[i].year,&dateArray[i].month,&dateArray[i].day); } s = __(5)__; printf("最大的日期为:%d.%d.%d\n",s.year,s.month,s.day); return 0; } (1)答案 2分 struct date dateArray[] (2)答案 2分 dateArray[0] (3)答案 2分 dateArray[i].month > max.month (4)答案 2分 max = dateArray[i] (5)答案 2分 dateMax(dateArray) 四、程序设计题 (20分) 1. 编写程序,输入某一时刻的时间,加一秒后输出新的时间,时间以时、分、秒表示(利用结构类型) 10分 题目描述 编写程序,输入某一时刻的时间,加一秒后输出新的时间,时间以时、分、秒表示(利用结构类型) 输入描述 输入某一个时刻的时间 输出描述 输出这个时刻下一秒的时间,数字小于10的前面加个0输出 样例输入 19 3 12 样例输出 19:03:13 #include<stdio.h> struct time { int h,m,s; }; void main() { struct time t1,t2; scanf("%d%d%d",&t1.h,&t1.m,&t1.s); t2.s=t1.s+1; t2.m=t1.m; t2.h=t1.h; if(t2.s==60){ t2.m=t1.m+1; t2.s=0; } if(t2.m==60){ t2.h=t1.h+1; t2.m=0; } if(t2.h==24){ t2.h=0; } printf("%02d:%02d:%02d\n",t2.h,t2.m,t2.s); } 2. 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩。数据从键盘输入,要求打印出每个学生的总分、三门课的总平均成绩、以及总分最高的学生数据 10分 题目描述 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩。数据从键盘输入,要求打印出每个学生的总分、三门课的总平均成绩、以及总分最高的学生数据 输入描述 输入5个学生的数据,每个学生的数据包括学号、姓名、三门课的成绩 输出描述 输出每个学生的总分、三门课的总平均成绩、以及总分最高的学生数据(保留一位小数) 样例输入 201090101 张三 89 88 73 201090102 李四 77 55 91 201090103 王五 81 94 84 201090104 周六 97 71 61 201090105 徐七 76 80 90 样例输出 姓名 总分 平均成绩 张三 250 83.3 李四 223 74.3 王五 259 86.3 周六 229 76.3 徐七 246 82.0 总分数最高的学生信息如下: 201090103 王五 81 94 84 #include<stdio.h> #define N 5 struct student { int no; char name[10]; float score[3],sum,ave; }; void main() { struct student stu[N]; float max; int i,j,maxi; scanf("%d%s",&stu[0].no,stu[0].name); stu[0].sum=0; stu[0].ave=0; for(j=0;j<3;j++){ scanf("%f",&stu[0].score[j]); stu[0].sum+=stu[0].score[j]; stu[0].ave+=stu[0].score[j]/3; } max=stu[0].sum; maxi=0; for(i=1;i<N;i++){ scanf("%d%s",&stu[i].no,stu[i].name); stu[i].sum=0; stu[i].ave=0; for(j=0;j<3;j++){ scanf("%f",&stu[i].score[j]); stu[i].sum+=stu[i].score[j]; stu[i].ave+=stu[i].score[j]/3; } if(stu[i].sum>max){ max=stu[i].sum; maxi=i; } } printf("姓名 总分 平均成绩\n"); for(i=0;i<N;i++) printf("%s %.0f %.1f\n",stu[i].name,stu[i].sum,stu[i].ave); printf("总分数最高的学生信息如下:\n"); printf("%d %s ",stu[maxi].no,stu[maxi].name); for(j=0;j<3;j++) printf("%.0f ",stu[maxi].score[j]); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服