首页 > 编程语言 >实验5 结构体应用编程

实验5 结构体应用编程

时间:2022-12-27 18:45:33浏览次数:41  
标签:count min int sum 编程 ++ STU 实验 应用

实验任务3

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 100
typedef struct student
{
    char num[10];
    int s1;
    int s2;
    double sum;
    char level[10];
}STU;
int fun(STU a[], int n, STU h[]);
int main()
{
    STU s[N] = {
        {"GA05",85,76},
        {"GA03",76,90},
        {"GA02",69,90},
        {"GA04",85,56},
        {"GA01",91,95},
        {"GA07",72,80},
        {"GA08",64,45},
        {"GA06",87,98},
        {"GA015",85,86},
        {"GA013",91,97}
    };
    STU h[N];
    int i, k, n = 10;
    k = fun(s, n, h);
    printf("There are :\n");
    for (i = 0; i < k; i++)
        printf("%s %d %d %.2lf %s\n", h[i].num, h[i].s1, h[i].s2, h[i].sum, h[i].level);
    return 0;
}
int fun(STU a[], int n, STU h[])
{
    int count=0, i;
    double aver=0,s=0;
    for (i = 0; i < 10; i++)
    {
        a[i].sum = a[i].s1 * 0.7 + a[i].s2 * 0.3;
        s += a[i].sum;
    }
    aver = s / 10;
    for (i = 0; i < 10; i++)
    {
        if (a[i].sum > aver)
        {
            strcpy(h[count].num, a[i].num);
            h[count].s1 = a[i].s1;
            h[count].s2 = a[i].s2;
            h[count].sum = a[i].sum;
            strcpy(h[count].level, "均分以上");
            count++;
        }
    }
    return count;
}

实验任务4

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#define N 5
typedef struct student
{
    char name[10];
    int num;
    int maths;
    int computer;
    int english;
    int sum;
    char level[10];
}STU;
void fun(STU a[], int n);
int main()
{
    STU s[6 * N] = {
        {"A001",1,34,67,80},
        {"B003", 3, 78, 87, 90},
        {"A002", 2, 90, 98, 99},
        {"B002", 4, 56, 78, 98},
        {"A005", 5, 35, 67, 79}
    };
    int i;
    fun(s, N);
    for (i = 0; i < N; i++)
        printf("%s %d %d %d %d %d %s\n", s[i].name, s[i].num, s[i].maths, s[i].computer, s[i].english, s[i].sum, s[i].level);
    return 0;
}
void fun(STU a[], int n)
{
    int i,max, min;
    for (i = 0; i < N; i++)
        a[i].sum = a[i].maths + a[i].computer + a[i].english;
    max = min = a[0].sum;
    for (i = 0; i < N; i++)
    {
        if (a[i].sum > max)
            max = a[i].sum;
        if (a[i].sum < min)
            min = a[i].sum;
    }
    for (i = 0; i < N; i++)
    {
        if (a[i].sum == max)
            strcpy(a[i].level, "优秀");
        else if (a[i].sum == min)
            strcpy(a[i].level, "不及格");
        else
            strcpy(a[i].level, "合格");
    }
        
}

实验任务5

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#define N 5
typedef struct student
{
    long no;
    char name[20];
    int score;
}STU;
void input(STU s[], int n);
int find_min_list(STU s[], STU t[], int n);
void output(STU s[], int n);
int main()
{
    STU stu[N], min_list[N];
    int count;
    printf("录入%d个学生信息\n");
    input(stu, N);
    printf("\n统计最低分人数和学生信息...\n");
    count = find_min_list(stu, min_list, N);
    printf("\n一共有%d个最低分,信息如下:\n", count);
    output(min_list, count);
    return 0;
}
void input(STU s[], int n)
{
    int i;
    for (i = 0; i < n; i++) {
        scanf("%ld %s %d", &s[i].no, s[i].name, &s[i].score);
    }
}
void output(STU s[], int n)
{
    int i;
    for (i = 0; i < n; i++)
        printf("%ld %s %d\n", s[i].no, s[i].name, s[i].score);
}
int find_min_list(STU s[], STU t[], int n)
{
    int min = s[0].score;
    int i, count = 0;
    for (i = 0; i < n; i++)
        if (s[i].score < min)
            min = s[i].score;
    for (i = 0; i < n; i++)
        if (s[i].score == min)
        {
            t[count].no = s[i].no;
            strcpy(t[count].name, s[i].name);
            t[count].score = s[i].score;
            count++;
        }
    return count;
}

 

标签:count,min,int,sum,编程,++,STU,实验,应用
From: https://www.cnblogs.com/w2230189056/p/17008744.html

相关文章

  • 实验5
    345 ......
  • iOS多线程编程之NSThread的使用
    1、简介:1.1iOS有三种多线程编程的技术,分别是:1.、​​NSThread​​ 2、​​CocoaNSOperation​​ (​​iOS多线程编程之NSOperation和NSOperationQueue的使用​​)3、​​G......
  • 优维低代码:关联微应用和Feature Flags 特性开关
    优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维......
  • 从业务角度出发来构建低代码应用
    低代码确实会少写代码,其概念也不同于复制修改的模板技术,不同于开箱即用的全站配置,不同于趋近于零代码的图形化编程。如果低代码是可以普遍推广的,那么就应该是普遍被业务人员......
  • Easy App Locker - 给你的 mac 应用加锁保护你的隐私
    EasyAppLocker可以对Mac上的单个应用进行密码保护。维护Mac上的隐私。像如果你的某个应用存在隐私数据就可以使用该软件将此应用上锁,这样当你的朋友使用你的mac时你......
  • 实验八-web部署
    实验八-web部署过程截图遇到的问题和解决过程我在做实验的时候,按照老师的实验书一步一步走,遇到的问题不多,有下面几个:1.老师在实验书中没有提到lines1-9/9......
  • 实验6
    #include<stdio.h>intmain(){intc=0;charch;FILE*fp;fp=fopen("data4.txt","r");if(fp==NULL){printf("无法打开文件\n"......
  • Spring Boot Docker 应用程序
    许多人使用容器来包装他们的SpringBoot应用程序,构建容器并不是一件简单的事情。这是针对SpringBoot应用程序开发人员的指南,容器并不总是开发人员的良好抽象。它们迫使......
  • 快应用
    小程序自2016年推出以来,可以说是一路火爆,更是改写了移动互联网的格局,开辟了另一流量战场。正所谓,“哪里有商机哪里就有竞争”,据报道,中国九大安卓手机厂商华为、小米、OPPO、......
  • 是时候使用Kotlin编程了
    从事Android开发的童鞋都知道,自从去年的GoogleI/O大会上Kotlin被定为Android开发的官方语言以来,关于Kotlin就成为每个开发人员学习的目标,的确,Kotlin以它独有的魅力正在吸引......