首页 > 其他分享 >定义学生结构体[姓名,年龄,分数] 实现计算平均分数,最大年龄信息,函数的输入与输出

定义学生结构体[姓名,年龄,分数] 实现计算平均分数,最大年龄信息,函数的输入与输出

时间:2023-02-26 17:37:21浏览次数:54  
标签:分数 __ 定义 int void Student 年龄 include struct

 1 #ifndef __HEAD_H__
 2 #define __HEAD_H__
 3 #include <stdlib.h>
 4 #include <string.h>
 5 #include <stdio.h>
 6 //声明学生数据类型
 7 struct Student{
 8     char name[20];
 9     int age;
10     int score;
11 };
12 void Input(struct Student s[],int n);
13 float Averg(struct Student s[],int n);
14 int Max(struct Student s[],int n);
15 void Bubble(struct Student s[],int n);
16 void Output(struct Student s[],int n);
 1 #include "head.h"
 2 int main(int argc,const char *argv[])
 3 {
 4     struct Student s[5];
 5     Input(s,2);
 6     printf("平均成绩是%.2f",Averg(s,2));
 7     Max(s,2);
 8     Bubble(s,2);
 9     Output(s,2);
10     return 0;
11 }
12 #include "head.h"
13 #include <stdio.h>
14 void Input(struct Student s[],int n)
15 {
16     for(int i=0;i<n;i++)
17     {
18         printf("输入姓名:");
19         scanf("%s",s[i].name);
20         printf("输入年龄:");
21         scanf("%d",&s[i].age);
22         printf("输入成绩:");
23         scanf("%d",&s[i].score);
24     }
25 }
26 float Averg(struct Student s[],int n)
27 {
28     float sum=0;
29     for(int i=0;i<n;i++)
30     {
31      sum+=s[i].score;
32     }
33     return sum/n;
34 }
35 int Max(struct Student s[],int n)
36 {
37     int max,maxi;
38     for(int i=0;i<5;i++)
39     {
40         if(i==0)
41         {
42             max=s[i].age;
43             maxi=i;
44         }
45         if(s[i].age>max)
46         {
47             max=s[i].age;
48             maxi=i;
49         }
50     }
51     printf("最大年龄的全部信息:姓名;%s,年龄:%d,分数:%.2f",s[maxi].name,s[maxi].age,s[maxi].score);
52 }
53 void Bubble(struct Student s[],int n)
54 {
55     int i,j,t;
56     for(i=1;i<n;i++)
57     {
58         int count=0;
59         for(j=0;j<n-i;j++)
60         {
61             if(s[j].score>s[j+1].score){
62                 t=s[j];
63             s[j]=s[j+1];
64             s[j+1]=t;
65             count++;
66             }
67         }
68         if(count==0)
69             break;
70     }
71 }
72 void Output(struct Student s[],int n)
73 {
74     for(int i=0;i<n;i++)
75     {
76         printf("姓名%c 年龄%d 分数%d",s[i].name,s[i].age,s[i].score);
77     }
78 }

 

标签:分数,__,定义,int,void,Student,年龄,include,struct
From: https://www.cnblogs.com/xj123/p/17157116.html

相关文章

  • 单词拆分(字典树、记忆化搜索)、字母异位词分组(哈希表、字符串)、定义一个类Generator
    单词拆分(字典树、记忆化搜索)给定一个非空字符串s和一个包含非空单词的列表wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重......
  • 11_10_第六阶段:大前端进阶||07-Vue详解||P12:自定义事件内容分发(this.$emit())【Vue核心
    Vue:计算属性,内容分发,【自定义事件】1.自定义事件注:涉及到的JavaScript语法2.代码流程在vue的实例中,增加了methods对象并定义了一个名为removeItems的方法varvm=newVu......
  • 19.数据定义语言
    1.描述主要数据库对象2.查看表结构--2.1.命名原则----必须为1-30字符长度----只能包含A-Z,a-z,0-9,_,$,和#字符----同一用户下,不能重名----不能使用oracle服务器保留......
  • SpringBoot33 - 自定义starter
    自定义starter开发​ 自动配置学习完后,我们就可以基于自动配置的特性,开发springboot技术中最引以为傲的功能了,starter。其实通过前期学习,我们发现用什么技术直接导入对应......
  • KMP的相关定义与性质
    声明:本文整理了北大附中肖然老师关于KMP讲解的核心要点。符号子串:从原串中选取连续的一段,即为子串;空串也是子串前缀:pre(s,k)为s前k个字符构成的子串后缀:suf(s,......
  • 参数化1、用户定义变量;2、用户参数
    1、添加配置元件->用户定义变量    2、测试计划中定义  3、添加前置处理器->用户参数  区别:1、用户定义变量启动时获取1次值,运行中值不变2、用户参数......
  • 【unity】基于Playable的自定义动画系统
    前言开发时逐渐对蜘蛛网动画系统中重复性的工作感到厌烦,而且当动画一多起来,即使蜘蛛网分了层,我仍然连看都不想看。遂寻求解决方案。蜘蛛网那一套系统不支持在运行时创建......
  • MyBatis_06(自定义映射resultMap)
    主题:自定义映射resultMap"自定义映射resultMap",可以解决什么问题:1-"属性"和"字段名"不一致的情况2-"多对一"的情况3-"一对多"的情况一、若"字段名"和"......
  • set的自定义排序
    看下面的代码就好了structcmp{ booloperator()(constpair<int,int>&a,constpair<int,int>&b)const{ intlena=a.second-a.first+1; intlenb=b.second-b.firs......
  • C# 自定义枚举类型转换
    //stringtoenumEAccountRolevar=(EAccountRole)Enum.Parse(typeof(EAccountRole),RoleManage.Instance.CurrentAccount.Role); //enumtolistpublicIEnumer......