当前位置: 首页 > news >正文

12.10小结

解题思路:

1.首先将a[21]中所有元素初始化为零,且每次输入不同组数组时都初始化为零,防止影响输出结果;

2.其次写一个循环输入数据,同时用a[x]++,记录本数据出现的次数并存储下来;

3.最后输出循环输出a[i],得出1-20分别出现的次数。

为什么写a[21],而不是a[20]?

如果将计数数组定义为a[20],下标范围是0-19,无法直接对应数字1-20,会导致统计逻辑混乱甚

至数组越界错误。a[20]的长度不足以“容纳”1-20的数字下标,而a[21]通过牺牲一个下标0的空间。

​ #include <stdio.h> #include <string.h> int main() { int n,x; while(scanf("%d",&n)!=EOF) { int a[21]={0}; for(int i=0;i<n;i++) { scanf("%d",&x); a[x]++; } for(int i=1;i<=20;i++) { printf("%d:%d\n",i,a[i]); } } return 0; } ​

定义结构体数组:

解题思路:

1.设一个结构体数组,数组中包含3个元素;

2.每个元素中的信息应包括候选人的姓名(字符型)和得票数(整型);

3.输入被选人的姓名,然后用strcmp函数与数组元素中的姓名成员比较,如果相同,就给这个元素中的“得票数”成员的值加1;

4.输出所有元素的信息。

#include <string.h> #include <stdio.h> struct Person { char name[20]; int count; }leader[3]={“Li”,0,“Zhang”,0,“Sun”,0}; int main() { int i,j; char leader_name[20]; for (i=1;i<=10;i++) { scanf(“%s”,leader_name); for(j=0;j<3;j++) if(strcmp(leader_name, leader[j].name)==0) leader[j].count++; } for(i=0;i<3;i++) printf("%5s:%d\n“,leader[i].name, leader[i].count); return 0; }

指向结构体数组的指针:

解题思路:用指向结构体变量的指针处理

1.声明struct Student,并定义结构体数组、初始化;

2.定义指向struct Student类型指针p;

3.使p指向数组首元素,输出元素中各信息;

4.使p指向下一个元素,输出元素中各信息;

5.再使p指向结构体数组的下一个元素,输出它指向的元素中的有关信息。

#include <stdio.h> struct Student { int num; char name[20]; char sex; int age; }; struct Student stu[3]={{10101,"Li Lin",'M',18}, {10102,"Zhang Fun",'M',19}, {10104,"Wang Min",'F',20} }; int main() { struct Student *p; printf(" No. Name sex age\n"); for(p=stu;p<stu+3;p++) printf(“%5d %-20s %2c %4d\n”, p->num, p->name, p->sex, p->age); return 0; }

用结构体变量和结构体变量的指针作函数参数:

解题思路:

1.将n个学生的数据表示为结构体数组。按照功能函数化的思想,分别用3个函数来实现不同的功能

2. 用input函数输入数据和求各学生平均成绩;

3.用max函数找平均成绩最高的学生;

4.用print函数输出成绩最高学生的信息;

5.在主函数中先后调用这3个函数,用指向结构体变量的指针作实参。

6.最后得到结果。本程序假设n=3

#include <stdio.h> #define N 3 struct Student { int num; char name[20]; float score[3]; float aver; }; int main() { void input(struct Student stu[]); struct Student max(struct Student stu[]); void print(struct Student stu); struct Student stu[N],*p=stu; input(p); print(max(p)); return 0; } void input(struct Student stu[ ]) { int i; printf("请输入各学生的信息:学号、姓名、三门课成绩:\n"); for(i=0;i<N;i++) { scanf("%d %s %f %f %f", &stu[i].num,stu[i].name, &stu[i].score[0],&stu[i].score[1],&stu[i].score[2]); stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0; } } struct Student max(struct Student stu[]) { int i,m=0; for(i=0;i<N;i++) if (stu[i].aver>stu[m].aver) m=i; return stu[m]; } void print(struct Student stud) { printf("\n成绩最高的学生是:\n"); printf("学号:%d\n姓名:%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2f\n”, stud.num, stud.name,stud.score[0], stud.score[1],stud.score[2],stud.aver); }
http://www.cnnetsun.cn/news/1492.html

相关文章:

  • 爬虫数据增量更新:时间戳、offset、WebSocket 长连接方案
  • Java-元注解 (Meta-Annotations)
  • @Component
  • 力扣-94.二叉树的中序遍历(Java递归)
  • 综合素质面试hr面
  • 降重与AIGC优化的认知任务解耦:八类工具在四项核心活动中的生态位映射与协同路径
  • PaperXie 降重复率/AI率功能如何化解学术写作中的“生成式焦虑”:一种面向“学术表达真实性”的智能协作框架——一位研究生的真实实践记录
  • 科研文稿 “学术查重的降噪滤波器”:PaperXie 降重降 AI 率如何让重复文本从 “信号杂音” 变 “导师认可的纯净成果”
  • 八款 AI 文本优化工具能力棱镜:基于“语义保真—AI消除—学科适配—流程嵌入”四维模型的八工具全景评估
  • 论文查重 / AI 检测总超标?PaperXie 用 “学术表达重塑法” 帮你把重复率 / AI 率压到安全线内
  • 构建你的“学术表达合规生态”:八款降重/AIGC工具如何在不同场景中协同降低检测风险?
  • PaperXie 数据分析功能如何重塑科研决策支持:一种面向“从数据到洞见”闭环构建的智能协作框架——一位研究生的真实实践记录
  • 论文数据分析总卡壳?PaperXie 用 “数据逻辑锚定法” 帮你从 “乱数堆” 里挖出研究结论
  • 50天50个小项目 (React19 + Tailwindcss V4) ✨| FAQ Collapse(问题解答折叠面板)
  • 《Mysql数据库应用》 第2版 郭文明 实验2 数据查询操作 答案
  • 同样是单片机工程师,高段位的已经在“定义智能”,新手还在跟LED死磕?
  • STM32居然能和服务器“聊天”?MQTT通信实现指南,小白也能看懂!
  • PPT文件的两种不可编辑情况
  • Excel文件中的保护工作表与工作簿的区别与应用
  • python猫眼电影数据可视化与智能分析平台 数据大屏 电影票房预测 电影推荐(协同过滤推荐算法)爬虫flask框架
  • 基于知识图谱电影推荐问答系统 neo4j图形数据库 问答系统 推荐系统 协同过滤推荐算法(建议收藏)✅
  • 基于python商品购物商城系统 购物系统 Django框架 购物平台 网购平台 大数据(建议收藏)✅
  • 基于python二手商品交易系统 二手网站 跳蚤网站 二手商品交易 大数据毕业设计(附源码)
  • YOLOv8测速测距车辆计数系统 ByteTrack算法 深度学习 目标计数 目标测速 目标检测
  • 深度学习车流量监测统计系统 YOLOv8模型 自定义检测区域 智慧交通大数据 多目标跟踪算法 COCO2017数据集
  • 深度学习YoloV8模型垃圾分类系统 深度学习pytorch 大数据 毕业设计(数据集+源码+文档)
  • 垃圾分类识别系统 pytorch框架 深度学习多模型LeNet、AlexNet、VGG、GoogLeNet、ResNet、MobileNet、MobileNet、RegNet模型 毕业设计
  • 全栈项目:python豆瓣电影推荐系统 Python+MySQL 可视化分析+个性化推荐 协同过滤推荐算法 毕业设计源码✅
  • Python+Django+协同过滤 电影推荐系统 数据分析 协同过滤算法(词云分析 源码+文档)大数据 毕业设计
  • 799-LangChain框架Evaluations使用培训总体介绍