C语言结构体程序设计问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言结构体程序设计问题相关的知识,希望对你有一定的参考价值。

程序填空题。请根据提示将程序补充完整。
#include <stdio.h>
#include <string.h>
typedef struct TEACH
int num;
char name[50];
int age;
char sex;
char zhicheng[20];
int gongzi;
TEACHER;

int main()

TEACHER teacher1=2003012,"liming",43,'F',"副教授",5800;
TEACHER teacher2;
printf("%10d,%10s,%5d,%3c,%10s,%6d\n",teacher1.num,teacher1.name,teacher1.age,teacher1.sex,teacher1.zhicheng,teacher1.gongzi);//输出teacher1的值。

//此处有一条语句,作用是将teacher1的值赋值给teacher2
teacher2.gongzi = 7000;
//此处有一条语句,作用是:将teacher2的成员zhicheng的值修改为"教授"
printf("%10d,%10s,%5d,%3c,%10s,%6d\n",teacher2.num,teacher2.name,teacher2.age,teacher2.sex,teacher2.zhicheng,teacher2.gongzi);//输出teacher2的值。
return 0;

参考技术A teacher2=teacher1;
strcpy(teacher2.zhicheng,"教授");
参考技术B 回答

先定义一个结构体Student,它包含四个成员:学号(number)、姓名(name)、电话(telphone)、地址(address),然后定义一个结构体数组stu[3],输入3个学生的数据,再输出。运行结果如下图所示,请编程实现相应功能。我的程序如下:(想修改一下用stu[3]定义,不知道怎么定义,用的是student1,student2,student3) 求指点。。#includevoid main()struct studentint number;char name[20];int telphone;char address[20];student1,student2,student3;printf("请输入第1个学生的信息:\\n");scanf("%d%s%d%s",&student1.number,student1.name,&student1.telphone,student1.address);printf("\\n");printf("请输入第2个学生的信息:\\n");scanf("%d%s%d%s",&student2.number,student2.name,&student2.telphone,student2.address);printf("\\n");printf("请输入第3个学生的信息:\\n");scanf("%d%s%d%s",&student3.number,student3.name,&student3.telphone,student3.address);printf("\\n");printf("学生信息如下:\\n");printf("student num:%d name:%s telphone:%d address:%s \\n",student1.number,student1.name,student1.telphone,student1.address);printf("student num:%d name:%s telphone:%d address:%s \\n",student2.number,student2.name,student2.telphone,student2.address);printf("student

希望可以帮到你

提问

学生的信息要连续输入如

1 Li 99

2 Shi 78

3 Wei 92

这样子呢?

回答

运行过了。OK的#include#include#include void input(void);//要声明struct studentchar name[20];int id;int chinese;int math;int english;stu[30];int count=0;void main(void)int c;char a;printf("\\n\\n\\t\\t\\t\\twelcome\\n");printf("\\n");printf("\\n");printf("\\n");printf("\\********************************************************************************\\n");printf("\\n");printf("\\n\\n\\t\\t\\t\\t1.input" );printf("\\n\\n\\t\\t\\t\\t2.");printf("\\n\\n\\t\\t\\t\\t3. ");printf("\\n\\n\\t\\t\\t\\t4.");printf("\\n\\n\\t\\t\\t\\t5.break");printf("\\n");printf("\\n");printf("\\n");printf("please choose the option\\n");scanf("%d",&c);switch(c)case 1:input();break;case 5:return 0;break;void input(void)//这要用voidchar c;doprintf("input information:\\n");printf("name:\\n");scanf("%s",&stu[count].name);printf("id:\\n");scanf("%d",&stu[count].id)

C语言中结构体的理解

参考技术A

一、结构体定义

结构体是一个或多个数据的集合,这些数据可以是不同的类型,结构体相当于 数组 的升级。假如我们要统计一个班级学生的成绩,成绩属于float类型,我们可以将成绩用 数组 存放。但是如果要统计一个班级的学生的姓名、性别、成绩,姓名为字符串型,年龄为整数型,成绩为小数型,因为数据类型不同,显然不能用 数组 存放。为了解决这一问题,C语言中给出了另一种构造数据类型——结构体(Struct)。它可以将同一对象的多个数据类型存储在一起。

二、定义形式

方式1 、将结构体变量直接放在结构体尾端

Struct 结构体名

类型1 元素1;

类型2 元素2;

类型n 元素n;

结构体变量;

例 :假设将一个班级学生的“姓名”定义为结构体变量,“性别”和“成绩”为结构体内部元素

Struct Student

char* sex; //性别

float score; //成绩

zhangsan; //学生姓名张三

方式2 、先定义结构体,然后在定义结构体变量

Struct 结构体名

类型1 元素1;

类型2 元素2;

类型n 元素n;

Struct 结构体名 结构体变量;

例 :假设将一个班级学生的“姓名”定义为结构体变量,“性别”和“成绩”为结构体内部元素

Struct Student

char* sex; //性别

float score; //成绩

Struct Student zhangsan; //学生姓名张三

方式3、将结构体名省略

Struct

类型1 元素1;

类型2 元素2;

类型n 元素n;

结构体变量;

例 :假设将一个班级学生的“姓名”定义为结构体变量,“性别”和“成绩”为结构体内部元素

Struct

char* sex; //性别

float score; //成绩

zhangsan; //学生姓名张三

三、结构体初始化

以方式2的例子为例

Struct Student

char* sex; //性别

float score; //成绩

Struct Student zhangsan; //学生姓名张三

/****初始化*****/

Struct Student zhangsan=“nan”,100; //张三 男 成绩100

四、结构体使用

以方式2的例子为例

Struct Student

char* sex; //性别

float score; //成绩

Struct Student zhangsan; //学生姓名张三

/****初始化*****/

Struct Student zhangsan=“nan”,100; //张三 男 成绩100

/****使用*****/

zhangsan. score =60; //将张三成绩赋值60

以上是关于C语言结构体程序设计问题的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序设计,结构体

C语言 结构体如何排序

大一C语言问题,有关结构体。。。

C语言结构体数组排序

C语言结构体指针定义问题 - C / C++ -

C语言中结构体的理解