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;
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语言结构体程序设计问题的主要内容,如果未能解决你的问题,请参考以下文章