怎样在C语言主函数中定义一个关于学生情况的结构体数组先定义结构体,然后定义一个结构体数组不就行了 。。。
struct XXX{};
XXX student[N]
还是我没明白你意思 。。。
C语言程序设计作业 结构体数组/***************************************************
*程序名称c语言结构体数组主函数:学生记录系统
*编译环境:borland c
*程序作者:松;zhuchangsong@126.com
*完成日期:2009-12-23
*程序说明:简单的学生成绩记录系统
********************************///————include头文件————
#include//————define定义————
#define student_num 10//————命名空间——————
//using namespace std;
typedef struct studentInfo
{
int No;
char name[30];
int score1;
int score2;
int score3;
int total;
double average;
}ps;void input(ps *student,int index){
printf("enter No of student %d:\t",index);
scanf("%d",(student-No));
printf("enter name of student %d:\t",index);
scanf("%s",(student-name));
printf("enter score1 of student %d:\t",index);
scanf("%d",(student-score1));
if((student-score1100) || (student-score10))
{
printf("error: score must between 0 ~ 100!\n enter score again:");
scanf("%d",(student-score1));
};
printf("enter score2 of student %d:\t",index);
scanf("%d",(student-score2));
if((student-score2100) || (student-score2 0))
{
printf("error: score must between 0 ~ 100!\n enter score again:");
scanf("%d",(student-score2));
}
printf("enter score3 of student %d:\t",index);
scanf("%d",(student-score3));
if((student-score3100) || (student-score3 0))
{
printf("error: score must between 0 ~ 100!\n enter score again:");
scanf("%d",(student-score3));
}
printf("please enter information of next student:\n");
}double average (ps *student){
double result = (student-score1student-score2student-score3)/3;
return result;
}int total (ps *student){
int result = (student-score1student-score2student-score3);
return result;
}
//————main主函数——————
int main( void )
{
int index;
ps student[student_num];
printf("please enter information of %d student:\n",student_num);
for(index = 0; indexstudent_num; index){
input(student[index],index);
student[index].average = average(student[index]);
student[index].total = total(student[index]);
}
printf(" No\tname\tscore1\tscore2\tscore3\ttotal\taverage\n");
for(index = 0; indexstudent_num; index){
printf("%-5.5d\t%s\t%d\t%d\t%d\t%d\t%.2f\n",student[index].No,student[index].name,student[index].score1,student[index].score2,student[index].score3,student[index].total,student[index].average);
}
return 0;
【c语言结构体数组主函数 结构体数组函数调用】}
/*
*笔记:
* 1、注意结构体做函数参数时用指针调用,这样可以返回多个值
* 2、注意scanf,printf函数的格式调用
* 3、注意函数的定义、声明和使用方法
*/ 以下是运行结果: **********************************本不想帮c语言结构体数组主函数你写作业, 不过好久没写过c了,顺便帮你写个玩玩
C语言结构体问题(求讲解 , 每条语句)#includestdio.h
//,头文件
#includestring.h//头文件
#define
N
10
//宏定义
typedef
struct
{
char
num[10],name[10];//两个字符数组,
float
sub1,sub2,sub3;//三个浮点数 。
}STU;//这是个结构体,并且在此将STU定义成了这个结构体;
void
sort(STU*st)//sort()函数 。参数为指向结构体的指针 。
{
STU
tmp;//定义了一个名为tmp的结构体,
int
i,j;//定义了两个整型变量i,j;
for(i=0;iN-1;i)//
for(j=i;jN;j)//
if((st[i].sub1 st[i].sub2 st[i].sub3)(st[j].sub1 st[j].sub2 st[j].sub3))//if括号内的条件满足则执行下面的语句块,
{tmp=st[i];
st[i]=st[j];
st[j]=tmp;
//这是冒泡法排序,语句块是用来交换的
}
}
void
main()//主函数 。
{
STU
s[N];//定义了一个结构体类的数组s[N];
int
i;//定义了一个整型变量i;
for(i=0;iN;i)//for循环,次数为N次 ,
{
scanf("%s%s%f%f%f",s[i].num,s[i].name,s[i].sub1,s[i].sub2,s[i].sub3);//输入数据,
printf("\n");//输入出换行符,
}
sort(s);//调用函数sort()
for(i=0;iN;i)
{
printf("%s
%s
%f
%f
%f\n",s[i].num,s[i].name,s[i].sub1,s[i].sub2,s[i].sub3);//循环输出N个的信息 ,
}
}
关于c语言结构体数组主函数和结构体数组函数调用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 福特汽车上的u盘怎么使用,福特汽车上的u盘怎么使用视频
- 银行JAVA程序代码,用java代码编写银行系统
- 排球比赛直播软件,排球比赛直播软件推荐
- php读取文件一行数据 php按行读取文件内容
- redis发布订阅监控,redis订阅发布的实际应用
- 3D格斗类单机游戏女生,3d 格斗游戏
- 所有飞行模拟器的游戏名,飞行模拟器手机游戏
- java在线代码检查 java代码查错
- mysqlview查询速度的简单介绍