C语言之:结构体动态分配内存(利用结构体数组保存不超过10个学生的信息,每个学生的信息包括:学号、姓名和三门课(高数、物理和英语 )的成绩和平均分(整型)。)
题目内容:
利用结构体数组保存不超过10个学生的信息,每个学生的信息包括:学号、姓名和三门课(高数、物理和英语 )的成绩和平均分(整型)。
编写程序,从键盘输入学生的人数,然后依次输入每个学生的学号、姓名和3门课的成绩
然后计算每个学生的平均分
最后按指定格式输出每个学生的平均分
输入格式:
先输入一个整数,表示学生个数
然后每行输入一个学生的信息:学号、姓名和高数、物理及英语成绩
输出格式:
输出每个学生的平均分.printf中请用格式控制串"The average score of the %dth student is %d.\n"
输入样例:
5
1001 Zhang 100 90 80
1002 Wu 93 90 98
1003 Zhu 89 88 87
1004 Hu 90 98 98
1005 Wang 90 98 97
输出样例:
The average score of the 1th student is 90.
The average score of the 2th student is 93.
The average score of the 3th student is 88.
The average score of the 4th student is 95.
The average score of the 5th student is 95.
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h> struct STU {
char ID[20];
char Name[20];
float math;
float physic;
float english;
};
int main()
{ int n,i,j,k;
float res;
scanf("%d", &n);
if (n > 10) {
return 0;
}
struct STU *mySTU = (struct STU*)malloc(sizeof(struct STU) * n); //动态内存分配关键 malloc
struct STU* p = mySTU;
for (i = 0; i < n; i++)
{
scanf("%s", &p->Name);
scanf("%s", &p->ID);
scanf("%f", &p->math);
scanf("%f", &p->english);
scanf("%f", &p->physic);
*(p++);
}
struct STU *q = mySTU;
for (j = 0; j < n; j++)
{
res = (q->math + q->physic + q->english)/3;
k = (int)res;
printf("The average score of the %dth student is %d.\n", j+1,k );
*(q++);
} return 0;
}
C语言之:结构体动态分配内存(利用结构体数组保存不超过10个学生的信息,每个学生的信息包括:学号、姓名和三门课(高数、物理和英语 )的成绩和平均分(整型)。)的更多相关文章
- /* * 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 *(包括学生号,姓名,三门课成绩),计算出平均成绩, *将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 */
1.Student类:类中有五个变量,分别是学号,姓名,三门成绩 package test3; public class Student { private int num; private Stri ...
- 代码实现:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 (包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.ut ...
- java例题_50 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成 绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
1 /*50 [程序 50 文件 IO] 2 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成 3 绩),计算出平均成绩,将原有的数据和计算出的平均分数存放 ...
- 输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中
题目分析: 1.首先想到的是数组存放数据,数组肯定是String类型. 2.String类型的数组,5行6列.要把从第0行第2列到第4行第4列的数据取出转换成数值型,再统计三科总分.最后把计算出的总分 ...
- 指针和动态分配内存 (不定长度数组)------新标准c++程序设计
背景: 数组的长度是定义好的,在整个程序中固定不变.c++不允许定义元素个数不确定的数组.例如: int n; int a[n]; //这种定义是不允许的 但是在实际编程中,往往会出现要处理的数据数量 ...
- C语言malloc()函数:动态分配内存空间
头文件:#include <stdlib.h> malloc() 函数用来动态地分配内存空间(如果你不了解动态内存分配,请查看:C语言动态内存分配及变量存储类别),其原型为:void* m ...
- 现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100
#include <iostream> using namespace std; struct student {char num[100]; char name[100]; int ...
- Go语言类型(布尔、整型、数组、切片、map等)
1.基本类型 布尔类型:bool 注意:布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换. 整型:int8.byte(uint8).int16.int.uint.uintptr int.ui ...
- 编译器是如何实现32位整型的常量整数除法优化的?[C/C++]
引子 在我之前的一篇文章[ ThoughtWorks代码挑战——FizzBuzzWhizz游戏 通用高速版(C/C++ & C#) ]里曾经提到过编译器在处理除数为常数的除法时,是有优化的,今 ...
随机推荐
- Django基础五之Ajax
Django基础五之Ajax 目录 Django基础五之Ajax 1. Ajax介绍 2. Ajax前后端传值 2.1 方法一HttpResponse直接返回 2.2 方法二使用Json格式返回 2. ...
- 2022年官网下安装MAVEN最全版与官网查阅方法
目录 确保JDK安装无误 一.百度输入关键字maven,选择官网,进入官网 二.找到下载位置,如图所示,双击进入 三.找到下载位置(下载的是安装包bin版本的,src是源码查看),双击下载 四.弹出保 ...
- ActiveMQ-5.9-笔记-02
- Linux 显示文件大小的命令
ll显示的是字节,可以使用-h参数来提高文件大小的可读性,另外ll不是命令,是ls -l的别名ls -al 是以字节单位显示文件或者文件夹大小: 字节b,千字节kb, 1G=1024M=1024*10 ...
- 如何drop caches
http://www.linuxfly.org/post/320/ syncecho 3 > /proc/sys/vm/drop_caches
- 由浅入深,带你用JavaScript实现响应式原理(Vue2、Vue3响应式原理)
由浅入深,带你用JavaScript实现响应式原理 前言 为什么前端框架Vue能够做到响应式?当依赖数据发生变化时,会对页面进行自动更新,其原理还是在于对响应式数据的获取和设置进行了监听,一旦监听到数 ...
- 什么是Spring Cloud Bus?
spring cloud bus 将分布式的节点用轻量的消息代理连接起来,它可以用于广播配置文件的更改或者服务直接的通讯,也可用于监控. 如果修改了配置文件,发送一次请求,所有的客户端便会重新读取配置 ...
- 什么是Spring MVC框架的控制器?
控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现.控制器解析用户输入并将其转换为一个由视图呈现给用户的模型.Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器.
- MyBatis 框架适用场合?
1.MyBatis 专注于 SQL 本身,是一个足够灵活的 DAO 层解决方案. 2.对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis 将是 不错的选择.
- java中的异常体系?throw和throws的区别?
一.java中的异常体系 Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为Error和Exception,分别表示错误和异常.其中异常类Exception又分为运行时异常(Ru ...