基于visual Studio2013解决C语言竞赛题之0808打印链表
来源:互联网 发布:vmware 安装原版mac 编辑:程序博客网 时间:2024/05/21 09:03
题目
解决代码及点评
/*功能:设链表中每个结点包括学号、成绩、和指针三个字段, 试编程序将大于平均成绩的各个结点打印出来。 */#include<stdio.h>#include<stdlib.h>#define N 10//10名同学struct student//创建链表{int ID;int course;struct student *pNext;};typedef struct student STU;STU *init(int id, int cur)//设置头结点{STU *p = (STU *)malloc(sizeof(STU));if (p == NULL)return NULL;p->ID = id;p->course = cur;p->pNext = NULL;return p;}void insert(STU *pHead, int id, int cur)//插入结点{STU *pNode = (STU *)malloc(sizeof(STU));if (pNode == NULL)exit;pHead->pNext = pNode;pNode->ID = id;pNode->course = cur;pNode->pNext = NULL;}int count(STU *pHead);//求和void showAll(STU *pHead);double getAverage(STU *pHead,int n);void main(){STU *pHead = init(NULL,NULL);//头结点没有内容,next指向第一个学生int i = 1;//学号STU *p = pHead;//当前结点位置while (i <= N)//总共创建10个结点,每个结点代表一个学生{insert(p, i, rand() % 40 + 60);//插入一个学生信息i++;p = p->pNext;//当前指针后移}showAll(pHead);//输出链表信息,所有学生信息double ave = getAverage(pHead,N);//获得平均分数printf("\nAverage = %f\n",ave);STU *pa = pHead->pNext;while (pa != NULL){if (pa->course > ave) // 打印分数大于平均分的学生科目信息{printf("ID: %d,\tachi = %d\n",pa->ID,pa->course);}pa = pa->pNext;}system("pause");}double getAverage(STU *pHead, int n) // 计算平均分{return count(pHead)/(double)n;}void showAll(STU *pHead) // 打印所有学生信息{STU *pa = pHead->pNext;while (pa != NULL)//输出链表信息{printf("%d:\t%d\n", pa->ID, pa->course);pa = pa->pNext;}}int count(STU *pHead) // 计算成绩之和{STU *pa = pHead->pNext;int sum = 0;while (pa != NULL){sum += pa->course;pa = pa->pNext;}return sum;}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
- 基于visual Studio2013解决C语言竞赛题之0808打印链表
- 基于visual Studio2013解决C语言竞赛题之0809链表排序
- 基于visual Studio2013解决C语言竞赛题之1069链表查找删除
- 基于visual Studio2013解决C语言竞赛题之1092链表转换
- 基于visual Studio2013解决C语言竞赛题之1093连接链表
- 基于visual Studio2013解决C语言竞赛题之0603打印素数
- 基于visual Studio2013解决C语言竞赛题之1002字符打印
- 基于visual Studio2013解决C语言竞赛题之1003字母打印
- 基于visual Studio2013解决C语言竞赛题之1016循环打印矩阵
- 基于visual Studio2013解决C语言竞赛题之1041反向打印
- 基于visual Studio2013解决C语言竞赛题之1045打印成绩
- 基于visual Studio2013解决C语言竞赛题之1048打印矩阵
- 基于visual Studio2013解决C语言竞赛题之1057打印加数
- 基于visual Studio2013解决C语言竞赛题之1058打印数字
- 基于visual Studio2013解决C语言竞赛题之1071打印工资
- 基于visual Studio2013解决C语言竞赛题之1078打印日历
- 基于visual Studio2013解决C语言竞赛题之前言
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
- 在32位Centos6.4上安装GraphicsMagick
- hdu2544 最短路
- 使用UIScrollView和UIPageControl实现一个简单的图片浏览功能
- 一个小脚本从小说中过滤出经常出现的人名
- 视频常识
- 基于visual Studio2013解决C语言竞赛题之0808打印链表
- 整理:Linux网络编程之sockaddr与sockaddr_in,sockaddr_un结构体详细讲解
- App启动插画的自定义过度
- linux操作系统标识宏
- 深入探索透视投影变换(续)
- Image 转 byte[]
- 后台定位
- UIActivityIndicatorView的两种形式
- UML序列图总结