(用结构体指针完成)定义一个学生结构体模板,包括学号、姓名、和3门课程的成绩。

作者&投稿:蔡媚 (若有异议请与网页底部的电邮联系)
坐等!!!定义学生结构体类型,其成员包括学号、姓名、3门课的成绩 用一个函数input从键盘输入5个学生的~

代码如下:
#include
#include
struct student {
long sno;
char name[10];
float score[3];
};
void fun( struct student *b)
{
b->sno = 10004;
strcpy(b->name, "LiJie");
}
main()
{struct student t={10002,"ZhangQi", 93, 85, 87};
int i;
printf("

The original data :
");
printf("
No: %ld Name: %s
Scores: ",t.sno, t.name);
for (i=0; i<3; i++) printf("%6.2f ", t.score[i]);
printf("
");
fun(&t);
printf("
The data after modified :
");
printf("
No: %ld Name: %s
Scores: ",t.sno, t.name);
for (i=0; i<3; i++) printf("%6.2f ", t.score[i]);
printf("
");
}

扩展资料
结构体内标的定义方式:
结构体,透明表区,DATA ELEMENT,DOMAIN
透明表是对一个物理表的逻辑描述,透明表里有许多字段,并且定义某些字段为 PRIMARY KEY,字段里又包含 DATA ELEMENT,用来描述语言属性和技术属性。DATA ELEMENT 中又包含 DOMAIN,它是定义数据类型和字段长度。
结构体一般是用来定义一个结构变量,有临时数据的储存,没有 PRIMARY KEY,结构体里包含 COMPONENT 而不是 FIELD
参考资料来源:
百度百科——结构体类型

#include
struct student
{
char number[20];//number学号
char name[20];//name姓名
float score[3];//成绩
float aver;//平均分
};
int main()
{
struct student stu[3];
int i,max;
printf("请输入三位学生的学号、姓名、3门课的成绩(以空格分开输入):
");
for(i=0;i<3;i++)
{
printf("请输入第%d个学生的信息:",i+1);
scanf("%s%s%f%f%f",stu[i].number,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
}
printf("学号 姓名 c语言 高数 英语 平均
");
for(i=0;i<3;i++)
{
printf("%-5s %-5s %-6.2f %-6.2f %-6.2f %-6.2f
",stu[i].number,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].aver);
}
return 0;
}

结构体弄错了,你定义结构体的时候就申明了一个对象student,这个本身就是一个结构体的名字,你又用它去定义一个s1[5],这是说不通的,就好比你定义了int a.然后又去定义 a b;一样。
我给你修改了一下
#include<stdio.h>
typedef struct stu
{
int num;
char name[10];
int score[3];
};
void input(struct stu s[5]);
void output(struct stu s[5]);
void main()
{
struct stu sd[5];
input(sd);
output(sd);
}
void input(stu stud[5])
{
int i = 0;
for (i = 0; i < 5; i++)
{
scanf("%d",&stud[i].num);
scanf("%s",&stud[i].name);
scanf("%d",&stud[i].score[0]);
scanf("%d",&stud[i].score[1]);
scanf("%d",&stud[i].score[2]);
}
}
void output(stu stud[5])
{
int i;
for(i=0;i<5;i++)
{
printf("%d %s %d %d %d\n",stud[i].num,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2]);
}
}

#include<stdio.h>
typedef struct stu
{
int num;
char name[10];
float score[3];
}student;
void input( student a[5] );
void output( student a[5] );
int main()
{
student s1[5];
input(s1);
output(s1);
return 0;
}
void input(student a[5])
{
int i;
for(i=0;i<5;i++) //这里多个分号
{
scanf("%d%s%f%f%f",&a[i].num,a[i].name,&(a[i].score[0]),&(a[i].score[1]),&(a[i].score[2])); //float对应%f
}
}
void output(student a[5])
{
int i;
for(i=0;i<5;i++)
{
printf("%d %s %f %f %f\n",a[i].num,a[i].name,a[i].score[0],a[i].score[1],a[i].score[2]); //float对应%f
}
}


计算机C语言指向结构体变量的指针
一个指针变量当用来指向一个结构变量时,称之为结构指针变量。结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同的。structstu{ intnum;char*name;charsex;floatscore;}boy1={102,"Zhang ping

c语言程序题第五题 要求使用调用结构体指针的函数,输出每个学生的成绩...
include<stdio.h>struct STUDENT{double score[3];double average;int id;char name[255];};void printScore(struct STUDENT *);int main(){struct STUDENT stu[10];int i;for(i=0;i<10;++i){printf("请输入姓名:");scanf("%s",stu[i].name);printf("Please input the ID:");scanf(...

C++结构体指针数组如何分配空间,用new
4.指针的指针;int ** cc=new (int*)[10]; 声明一个10个元素的数组,数组每个元素都是一个int *指针,每个元素还可以单独申请空间,因为cc的类型是int*型的指针,所以你要在堆里申请的话就要用int *来申请;看下边的例子 (vc & GNU编译器都已经通过);int ** a= new int * [2]; \/...

用c语言实现超市商品管理系统,用指针实现商品的插入、删除操作。_百度...
可以用链表,大致就是,你创建一个结构体,结构体里有商品的一些信息,然后关键的是有个该结构体的指针,这个指针是指向下一个商品的结构体地址的,依次类推,直到最后一个商品的指针是指向null的,然后开始插入商品的思路:①创建新商品的信息②先让你要插入的结构体的指针指向要插入的那个位置后边的...

Delphi中的结构体与结构体指针
(类实例名称 := 类名.Create(参数1,参数2...)) 这样的情况下 这个类变量才会指向一个 存在的类实例. 这个类变量可以使用.而PAbc = ^TAbc; 则正好声明了PAbc 是 TAbc 这种结构体(变量类型)的指针、这样就可以避免 了在声明变量的时候 结构体就已被构建的问题.而new 和 Dispose 这两个函数...

C语言中如何以结构体变量的地址作为函数形参,以便将指向结构体变量的指...
例如:定义一个结构体类型 struct Yearmonthday{ int year, month, day;};定义相关函数,参数类型指定为结构体类型指针 void input(struct Yearmonthday *p1) \/\/函数形参p1是结构体指针类型{ printf("请输入年,月,日:"); scanf("%d,%d,%d",&p1->year,&p1->month,&p1->day);...

关于结构体变量成员的引用方式
结构体引用成员变量有两种操作符,即'->'和'.'。具体使用哪种方式,取决于结构体变量的类型。以struct test{int a;};为例,说明如下:结构体指针变量。定义:struct test *v;访问v中的成员a需要写作v->a。

C语言编程指向结构体数组的指针
下面的程序是我以前写的,你稍微改改就能符合你的要求了 include <stdio.h>#include <malloc.h>typedef struct st{ char name[20]; int chinese; int math; int english; float average;}student;void swap(student *a, student *b){ student temp = *a; *a = *b; ...

指针的&是什么作用?
“指向”的意思,常用于结构体指针变量访问成员。延展:运算符“->”,通过结构体指针变量直接获得结构体变量的成员变量,一般形式如下:结构体指针变量-> 成员变量 其中“结构体指针变量”为结构体指针变量,“成员变量”为结构体成员变量名称,“->”为运算符。C语言:一、简介:C语言是一种计算机程序...

-> C语言中怎么用啊
用于结构体指针间接引用其成员,例如:struct abc { int a;} sta,*p;p=&sta;在上述前提下:p->a等价地sta.a

延津县18851512921: (用结构体指针完成)定义一个学生结构体模板,包括学号、姓名、和3门课程的成绩. -
春李暖宫: 结构体弄错了,你定义结构体的时候就申明了一个对象student,这个本身就是一个结构体的名字,你又用它去定义一个s1[5],这是说不通的,就好比你定义了int a.然后又去定义 a b;一样. 我给你修改了一下 #include<stdio.h> typedef struct stu ...

延津县18851512921: 用结构体编写学生信息,先定义一个结构体数组,再定义指针,其中有男女同学,把女同学的信息全部输出出来 -
春李暖宫: #include<stdio.h> #include<stdlib.h> struct student { char name[32];char sex;int age;char add[32]; }; int main() { struct student stu[3];int i;for(i=0;i<3;i++){ printf("input name:\n");scanf("%s",stu[i].name);printf("input sex:\n");scanf("\n...

延津县18851512921: 用c语言写:定义一个学生结构体(包含姓名,学号,语文,数学,外语,总分).定义一个学生结构体数组. -
春李暖宫: #include <stdio.h> struct student {char name[20];int idnum;float score[3]; //分别存三科成绩double total; // 总分 }; struct student * highscore(struct student *s, int n) {int i;struct student * high = s;for(i = 0; i < n; i++) {(s+i)->total = (s+i)->score...

延津县18851512921: 请用结构体和指针实现一个简单学生信息系统结构体存储学生学号与姓名,程序以C语言实现. -
春李暖宫: 给你举个最简单的例子: #includestruct Student { int num; float score; }; void main() { struct Student a[3],*p; int i; //举例学生信息 for (i=0;i<3;i++) { a[i].num=1000+i; a[i].score=90.5+i*2; } p=a; for (i=0;i<3;i++) { printf("%ld%5.1f\n",p->num,p->score...

延津县18851512921: 如何用c语言结构体指针输入一组学生成绩,查找最好成绩,并输出其学生信息 -
春李暖宫: 有两种方法 1:用链表做 2:用文件做 用链表做主要在于结构体的构造 和相关数据的输入 查找 用文件做 主要在于对文件的读写 操作 你可以参考相关的c语言书籍 比如老谭的c语言

延津县18851512921: 用结构体指针输入输出学生学号姓名出生日期姓别成绩 -
春李暖宫: typedef struct management{int num[10];char gender[10]; char name[1024]; int year[10]; int mouth[10]; int day[10];}

延津县18851512921: 求 !!!C++:用结构指针编写一个简单的学生成绩管理 -
春李暖宫: #include using namespace std;#define Max 20typedef struct{ char name[Max]; int num; char sex; float math; float...

延津县18851512921: 以结构体指针为形参,编写两个函数 -
春李暖宫: 帮你改好了: #includestruct student { long num; char name[16]; char sex; float score; }; void Input(struct student *p){ printf("输入学号:"); scanf("%d",(*p).num); printf("输入姓名:"); scanf("%c",(*p).name); printf("输入性别:...

延津县18851512921: 我写了一个程序,利用数组,结构体,函数,指针,实现按学生的年龄从大到小输出学生的姓名和年龄,代码如下 -
春李暖宫: 不能使用“=”将一个结构体赋值给另一个结构体.在交换两个结构体的地方需要重写.

延津县18851512921: 有5个学生,每个学生包括学号,姓名,数学成绩,要求找出成绩最高者的姓名和成绩 -
春李暖宫: 定义一个结构 包括学号,姓名,数学成绩 ,结构体指针 再定义一个结构体的数组分别存几个学生的信息 用结构体指针遍历成绩找到最大的 打印出成绩就可以以了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网