c语言结构体输入用函数,c语言函数调用结构体

C语言,结构体定义的输入输出函数

结构体的输入输出与一般的一样,但是不能整体对结构体进行输入输出,只能对其成员分个输入输出,比如结构体struct

创新互联公司的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括做网站、成都网站建设、电商网站开发、微信营销、系统平台开发。

student{

int

number;

char

name[20]}..................输入学号可以用scanf("%d",number);输入姓名scanf("%s",name);........................当然,你也可以使用gets();之类的,只要记住对其成员输入输出就行,纯手打,满意请采纳,谢谢O(∩_∩)O~

c语言结构体怎么用函数实现?

# includestdio.h

# includemalloc.h

struct stu    //结构体

{

int age;

float score;

char name[100];

};

void shuru (int len, stu * pArr)  

{

int i;

for(i = 0; ilen; i++)

{

printf("请输入第%d个学生的信息\n",i+1);

printf("name = ");

scanf("%s",pArr[i].name);

printf("age = ");

scanf("%d", pArr[i].age);

printf("score = ");

scanf("%f", pArr[i].score);

}

return;

int main(void)

{

int len ,i;

struct stu * pArr,t;

printf("请输入学生的个数:\n");

printf("人数= ");

scanf("%d",len);

pArr = (struct stu *)malloc(len * sizeof(struct stu));  

shuru(len, pArr);

for(i=0; ilen; i++)

{

if(pArr[i].score  pArr[i+1].score)

{

t = pArr[i+1];

pArr[i+1] = pArr[i];

pArr[i] = t;

}

}

i =0;

printf("\n\n排序后的学生信息为\n\n");

for(i=0; ilen; i++)

{

printf("name = %s\n",pArr[i].name);

printf("age = %d\n",pArr[i].age);

printf("score = %f\n",pArr[i].score);

printf("\n\n");

}

return 0;

}

这样就行了,你的排序还没实现, 仿照输入的函数实现就OK

C语言 用函数实现结构体的输入

#includestdio.h

struct student //结构体在函数外部定义

{

int num;

char Class[20];

char name[40];

float music;

float art;

float math;

};

void in(struct student stu[],int n); //函数声明在函数外部,主函数向子函数传递stu、n,才能在子函数中使用stu、n

void ave(struct student stu); //函数声明在函数外部,求平均数程序整体有些错误,我给改了

void main()

{

struct student stu[100]; //已经定义好的结构体全名是struct +你定义的名字,鉴于内存有限,100的长度已经够用了

int n,i;

printf("输入人数\t"); //增强互动性

while(scanf("%d",n)!=0)

{

in(stu,n);

for(i=0;in;i++)

{

printf("%s ",stu[i].name);

ave(stu[i]);

}

}

}

void in(struct student stu[],int n)

{

int i;

printf("输入信息(学号,班级,姓名,音乐成绩,艺术成绩,数学成绩)\n"); //增强互动性

for(i=0;in;i++)

{

scanf("%d %s %s %f %f %f",stu[i].num,stu[i].Class,stu[i].name,stu[i].math,stu[i].music,stu[i].art);

}

}

void ave(struct student stu)

{

float average;

average=(stu.music+stu.math+stu.art)/3.000;

printf("%5.lf\n",average);

}

1、结构体,函数声明都在主函数外;

2、被调函数使用主调函数需要传值;

3、结构体名为struct +定义名;

4、程序注意互动性。

c语言结构体数组的输入输出

C

语言中,结构体(struct)是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。

结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

定义与声明

结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。

在实际应用中,C语言结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。

在C语言中,定义结构体数组和定义结构体变量的方式类似;

例:

struct stu{

char*name;//姓名

int num;//学号

int age;//年龄

char group;//所在小组

float score;//成绩

}class[5];

表示一个班级有5个学生。

扩展资料:

结构体数组的引用与引用一个结构体变量在原理上是一样的。只不过结构体数组中有多个结构体变量,我们只需利用for循环一个一个地使用结构体数组中的元素。

下面编写一个程序,编程要求:从键盘输入5个学生的基本信息,如姓名、年龄、性别、学号,然后将学号最大的学生的基本信息输出到屏幕。

#includelt;stdio.hgt;

#includelt;string.hgt;

struct STU

{

char name[20];

int age;

char sex;

char num[20];

};

void OutputSTU(struct STU stu[5]);

//函数声明,该函数的功能是输出学号最大的学生信息

int main(void)

{

int i;

struct STU stu[5];

for(i=0;ilt;5;++i)

{

printf("请输入第%d个学生的信息:",i+1);

scanf("%s%d%c%s",

stult;igt;.name,

stult;igt;

.age,stult;igt;

.sex,stult;

igt;.num);/*%c

前面要加空格,不然输入时会将空格赋给%c*/

}

OutputSTU(stu);

return 0;

}

void OutputSTU(struct STU stu[5])

{

struct STU stumax=stu[0];

int j;

for(j=1;jlt;5;++j)

{

if(strcmp(stumax.num,stu[j]

.num)lt;0)//strcmp函数的使用

{

stumax=stu[j];

}

}

printf("学生姓名:%s学生年龄:%d学生性别:%c学生学号:

%s\n",stumax.name,

stumax.age,stumax.

sex,stumax.num);

}

输出结果是:

请输入第1个学生的信息:小红22 F Z1207031

请输入第2个学生的信息:小明21 M Z1207035

请输入第3个学生的信息:小七23 F Z1207022

请输入第4个学生的信息:小欣20 F Z1207015

请输入第5个学生的信息:小天19 M Z1207024

学生姓名:小明学生年龄:21学生性别:M学生学号:Z1207035

参考资料:

百度百科——结构体


本文标题:c语言结构体输入用函数,c语言函数调用结构体
标题来源:http://pwwzsj.com/article/dssiice.html