C语言程序设计(2020)编程题答案——第14章结构体、共用体和用户定义类型
14.12 设有以下结构类型说明:struct stud{char num[5],name[10];···};请编写:
(1)函数readrec:把30名学生的学号、姓名、西乡成绩以及平均分放在一个结构体数组中,学生的学号、姓名和西乡成绩由键盘输入,然后计算出平均分放在结构体对应的域中。
(2)函数writerec:输出30名学生的记录。
(3)main函数调用readrec函数和writerec函数,实现全部程序功能(注:不允许使用外部变量,函数之间的数据全部使用参数传递)。
#include<stdio.h>
#include<stdlib.h>
#define N 30
void readrec(struct stud *);
void writerec(struct stud *);
struct stud
{ char num[5],name[10];int s[4];double ave;
};
void readrec(struct stud *p)
{ int i,j;for(i=0;i<N;i++){ p[i].ave=0;printf("请输入学生的学号、姓名:");scanf("%s %s",p[i].num,p[i].name);//也能用gets()printf("请输入学生的四项成绩:");for(j=0;j<4;j++){scanf("%3d",&p[i].s[j]);p[i].ave+=p[i].s[j]/4.0;}//这里必须是4.0}}
void writerec(struct stud *p)
{ int i,j;for(i=0;i<N;i++){ printf("学生的学号、姓名为:%s %s\n",p[i].num,p[i].name);printf("学生的四项成绩:");for(j=0;j<4;j++)printf("%3d",p[i].s[j]);printf("\n平均分:%lf\n",p[i].ave);}
}
main()
{ struct stud p[N];readrec(p);writerec(p);
}
14.13 已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整形。请分别编写函数,在链表中查找数据域最大的结点:
(1)由函数值返回找到最大值。
(2)由函数值返回最大值所在结点的地址值。
#include<stdio.h>
#include<stdlib.h>struct slist
{ int data;struct slist *next;
};
typedef struct slist SLIST;
SLIST *creatslist()
{ int c;SLIST *h,*s,*r;h=(SLIST *)malloc(sizeof(SLIST));r=h;scanf("%d",&c);while(c!=-1){ s=(SLIST *)malloc(sizeof(SLIST));//生成结点s->data=c;r->next=s;//连接新生成的结点r=s;//新结点变成旧结点scanf("%d",&c);}r->next='\0';return h;
}int maxaval(SLIST *head)
{ SLIST *p,*pmax;int m;//m为最大值,pmax为最大值的地址值。p=head->next;//p指向第一个结点;m=p->data;pmax=p;//结点的地址值放入pmax;for(p=p->next;p;p=p->next)//p=p->next结点右移{ if(m<p->data){m=p->data;pmax=p;}}return m;
}
SLIST *maxadd(SLIST *head)
{ SLIST *p,*pmax;int m;//m为最大值,pmax为最大值的地址值。p=head->next;//p指向第一个结点;m=p->data;pmax=p;//结点的地址值放入pmax;for(p=p->next;p;p=p->next){ if(m<p->data){m=p->data;pmax=p;}}return pmax;
}
main()
{ SLIST *head,*pmax;int m;head=creatslist();//生成链表m=maxaval(head);printf("m=%d",m);pmax=maxadd(head);printf("pmax=%d\n",pmax);//这里pmax是地址值,要想输出最大值得加*
}
C语言程序设计(2020)编程题答案——第14章结构体、共用体和用户定义类型相关推荐
- 江苏大学考研805真题C语言程序设计 第五大编程题答案2004-2019
2004 #include<stdio.h> #include<stdlib.h> int main() {int a,t,i=0;printf("请输入一个不多于五 ...
- 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第7章】
全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第7章): [7.14] 下面的fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正. int fun (int ...
- 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第8章】
全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第8章): [8.17] 请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数. #includ ...
- 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第9章】
全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第9章): [9.27] 输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数.用下标为0的元素统计字符'0'的个 ...
- 林军c语言程序设计第八章,林军主编《C语言程序设计》课后参考答案第一二章.doc...
林军主编<C语言程序设计>课后参考答案第一二章 习题七 填空题 1.'\0' 2一组(.多个)相同类型数据 多组相同类型数据 3. gets puts 4.字符串所含有字符的个数 5.58 ...
- java语言程序设计教程课后题答案魏永红_《Java语言程序设计教程》习题参考答案...
1 / 23 < Java 语 言 程 序 设 计 教 程 > 习 题 参 考 答 案 第 1 章 习题参考答案 一.选择题 1 . B 2 . D 3 . C 4 . B 5 . A 6 ...
- java语言程序设计教程课后题答案魏永红_Java语言程序设计教程习题答案
< Java 语 言 程 序 设 计 教 程 > 习 题 参 考 答 案 第 1 章 习题参考答案 一.选择题 1 . B 2 . D 3 . C 4 . B 5 . A 6 . C 7 ...
- c语言程序设计的分析题答案,C语言程序设计试题及参考答案
C语言程序设计 一.选择题(共40分,每小题2分) 1.以下叙述不正确的是(D) A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D. ...
- PTA浙大版《C语言程序设计》编程题,练习2-1到习题2-6答案
个人建议 初学者还是把格式规范起来,自己读起来既方便又美观 PTA对结果的格式要求很严格,答题的时候注意题目要求 练习2-1 Programming in C is fun! (5 分) 本题要求编写 ...
- 中国大学(慕课)哈工大C语言程序设计精髓编程题在线测试第三周
1 学分绩计算 题目内容: 已知某大学期末考试学分绩的计算公式为:学分绩 =(工科数学 * 5 + 英语 * 1.5 + 线性代数 * 3.5) / 10请编程从键盘按顺序输入某学生的工科数学.英语和 ...
最新文章
- 类型转换函数(三十五)
- Learning React Native笔记
- oracle12c视图刷新,12c 物化视图 - 对快速刷新的理解
- wxWidgets:创建其他框架
- 查看程序占用内存_电脑扩展了内存 但还总是提示内存不足?
- 自制Win7安装U盘!
- 网络攻防 第四周学习总结
- ue4渲染速度太慢_推介飞向月球纪录片基于Unreal实时渲染引擎的三维流程化制作...
- 多校训练 Naive Operations线段树区间更新
- 木其工作室(专业程序代写服务)[转]学写块设备驱动(三)----踢开IO调度器,自己处理bio(下)...
- 解决docker-compose: command not found
- 51单片机 code关键字
- css3图片上下浮动动画
- 参加第八届中国软件杯大学生软件设计大赛如何准备?以课工场为例!
- 创业投资——创新工场
- Maya cmds pymel 单位和轴向设置
- java函数参数使用冒号_java8中:: 用法示例(JDK8双冒号用法)
- 二、java项目常用工具类之beancopy,bean和map转换工具类
- 自动调制分类发展历程
- js遍历localStorage的键值对