原题链接:二级C语言-平均值计算
我是刚来的菜鸡,写题解是除了想提供另一种思路,还想让同学们看看我的代码有没有可以改进之处,毕竟刚刚学习C语言,还没形成规范和掌握套路。如有建议请提出,本人必定学习一番,以让我的基础更加巩固,谢谢同学们!
注:我试过用普通思路和链表的思路,链表用时短一点;
解题思路:本题我是用的链表(不知道我说的对不对,错误请指正)。
参考代码:
#include<stdio.h> typedef struct number{ int num; struct student *next; }stu; int main(){ int a = 10, b = 0, c = 0; stu *head, *p; head= (stu *)malloc(sizeof(stu));//链表头 head->next = NULL; p = head; while (a != 0) {//输入10个数据 stu *b; b = (stu *)malloc(sizeof(stu)); scanf("%d", &b->num); b->next = NULL; p->next = b; p = b; a--;//a到0时退出循环 } stu *pr = head->next, *pt = pr; while (pr) {//这个是10个数据的总和 b += pr->num; pr = pr->next; } b /= 10;//求平均 while (pt) {//每大于平均数一次C就+1 if (pt->num > b) { c++; } pt = pt->next; } printf("%d\n", c); return 0; }
0.0分
4 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复