结构体以表格形式输出

#include<stdio.h>
#include<string.h>
#define n 3
struct date
{
int year;
int month;
int day;
};
struct student
{
char num[6];
char name [10];
float score[3];
float avr;
char sex;
struct date bir;
} stu[n];
int main()
{
int i,j,maxi;
float sum,max,average;
for(int i=0; i<n; i++)
{
printf("input scores ofthe no.%dstudent\n",i+1);
printf("no.:");
scanf("%s",&stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
getchar();
printf("sex:");
scanf("%c",&stu[i].sex);
printf("date:");
scanf("%d-%d-%d",&stu[i].bir.year,&stu[i].bir.month,&stu[i].bir.day);
for(int j=0; j<3; j++)
{
printf("score %d:",j+1);
scanf("%f",&stu[i].score[j]);
}

}
average=0;
max=0;
maxi=0;
for(int i=0; i<n; i++)
{
sum=0;
for(int j=0; j<3; j++)
sum=sum+stu[i].score[j];
stu[i].avr=sum/3.0;
average+=stu[i].avr;
if(sum>max)
{
max=sum;
maxi=i;
}
}
average/=n;
printf("no. name score1 score2 score3 sex date average\n");
for(int i=0; i<n; i++)
{
printf("%-5s %-10s",stu[i].num,stu[i].name);
for(int j=0; j<3; j++)
{
printf("%7.2f",stu[i].score[j]);
}
printf("%4c %d-%d-%d ",stu[i].sex,stu[i].bir.year,stu[i].bir.month,stu[i].bir.day);

printf(" %5.2f\n",stu[i].avr);

}
printf("%7.2f\n",average);
printf("the student is 学号:%s 姓名:%s 性别:%c 生日:%d-%d-%d\n",stu[maxi].num,stu[maxi].name,stu[maxi].sex,stu[maxi].bir.year,stu[maxi].bir.month,stu[maxi].bir.day);
printf("his score are %5.2f %5.2f %5.2faverage:%5.2f\n",stu[maxi].score[1],stu[maxi].score[2],stu[maxi].score[3],stu[maxi].avr);
return 0;

}

时间: 2024-10-04 14:44:25

结构体以表格形式输出的相关文章

console.table(),在控制台以表格形式输出对象

今天给大家安利一个属性,console.table(). 它的作用在控制台以表格的形式显示object.这样看起来是不是更方便了呢. var aaa = [ {index:0,name:"111",age:"222"}, {index:1,name:"111",age:"222"}, {index:2,name:"111",age:"222"}, {index:3,name:"

「C语言」「例题」结构体与共用体

本篇收集<C语言程序设计教程>第九章“结构体与共用体”的所有例题. 1 #include <stdio.h> 2 3 /*输入一个学生的基本信息, 4 包括学号.姓名.性别.年龄.出生日期.三门成绩, 5 输出该学生的基本信息和平均成绩*/ 6 7 struct date 8 { 9 int year;/* 年份 */ 10 int month;/* 月份 */ 11 int day; /* 日期 */ 12 }; 13 14 struct student 15 { 16 char

结构体【struct】

一.结构体定义 概念:结构体是由一系列不同或相同基本类型数据组合而成的新的复合数据集合,从而使这些数据项组合起来反应一个信息. 意义:结构体的使用为处理复杂的数据结构(如动态数据结构等)提供了有效的手段,而且,它们为函数间传递不同类型的数据提供了方便. 特点: 1.结构体类型是用户自行构造的: 2.它由若干不同的基本数据类型的数据构成. 3.它属于C语言的一种数据类型,与整型.实型相当.因此,定义它时不分配空间,只有用它定义变量时才分配空间. 4.结构体类型中的成员名可以与程序中的变量名相同,两

结构体、共用体和位运算

1.C语言结构体的定义和使用 在实际问题中,一组数据往往具有不同的数据类型:例如在学生信息登记表中,姓名为字符型,学号为整型或字符型,年龄为整型,性别为字符型,成绩为整型或实型.因为数据类型不同,显然不能用一个数组来存放. 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.定义结构体的一般形式为: struct 结构体名{ 成员列表 }; 每个成员都是结构体的组成部分,有名字,也有数据类型,形式为: 类型说明符 成员名; 例如用结构体来表示学生信息: struct stu{ c

C语言结构体和共用体_07

概述 定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组 指向结构体类型数据的指针 用指针处理链表 共用体 枚举类型 用 typedef定义类型  概述 定义一个结构体的一般形式: struct 结构名 { 成员列表 }; 一个结构体有一个结构名,但不是必须的.成员列表有若干个成员组成,每个成员都是该结构的一个组成部分.对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 例如: // 学号.姓名.性别.年龄.地址等属性 struct Student { int

黑马程序员---C语言基础---结构体

------iOS培训.Java培训.Android培训, iOS学习型技术博客,期待与您交流------ C语言基础---结构体 一.什么是结构体 介绍结构体之前,我想先简单介绍下数组.我想大家对数组都再熟悉不过了,顾名思义,数组就是将一些数据(元素)组合在一起,作为一个整体.使用数组需要注意的是这些元素必须是相同类型.而结构体和数组类似,也是将一些数据组合在一起作为一个整体,但是这些元素可以是不同类型.可以这么理解:结构体是更加灵活的数组,因为它允许元素是不同的类型. 实际生活中,如果我们要

文件包含与结构体

1.文件包含 (1)1个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令. (2)文件包含允许嵌套,即在一个被包含的文件种包含另一个文件. (3)包含命令中的文件名可以用双括号括起来,也可以用尖括号括起来.但这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找:使用双引号表示首先在当前的源文件目录中去查找,若未找到则到包含目录中去查找. 条件编译 预处理程序提供了条件编译的功能.可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件,这对

结构体、共用体、枚举____笔记

-------------------讲在前面 老规矩,本人小菜. 互联网是发达的,神奇的.其中,有开源与不开源一说,我不知道我懂多少. 我在网上取我所需,但是有时候会标注来源,有时候没标注.如果某大神觉得被冒犯了,请联系删除. 我会有复制粘贴,但我并不认为拿过来就是我的东西,只是纯粹的欣赏,学习. 开博客,主要是觉得对自己学习有益.我会记录自己觉得有意义的东东. 如果有人见到本文章,是我的荣幸,希望对你有所帮助. 当然,我不保证绝对正确,若你发现不对的地方,可以评论或者联系,指正批评,大家相互

C语言结构体(Struct)

前面的教程中我们讲解了数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放. 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{    结构体所包含的变量或数组}; 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不