问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言数据结构问题

发布网友 发布时间:2022-04-30 08:32

我来回答

3个回答

热心网友 时间:2022-04-10 02:11

当现有的数据类型,如int、char、float不能够满足你的需要时,你可以通过定义结构体来实现现有数据类型不能满足的问题。
如定义这样一个结构体:
typedef struct name
{
char a[25];
int chengji;
}JD;
JD stu[50];
这里就是定义一个结构体数组。其中每一个结构体数组元素(定义的结构体)都包含char的数据类型(它可以用来存储学生姓名)和int的数据类型(它可以用来存储学生的成绩)。这样的一个结构体数组便可以满足你的需要。看下面的:
结构体类型是C语言程序设计中处理表格数据的方法,通过结构体的定义、引用及处理,使学生掌握结构体数据类型的应用范围,处理方法,能用C程序设计对表格数据作各种不同的处理。
重点难点:结构类型的定义,程序方式下给结构体变量赋值,链表的定义及其它操作。
结构体类型概述:
结构体类型概念及定义
C语言中由前面定义的变量类型只是离散的,要想处理象数据库中那样的数据结构的数据,单用前面的变量是不行的。为了处理这些数据,C语言中可定义一种特殊的类型“结构体”,把一些不同的数据放在一起组成具有数据库库结构形式处理的数据。
如学生档案可包括姓名、性别、出生年月、四门课在成绩;
结构体类型的说明:
struct 结构体标识名 struct student
{ 类型名1 结构成名表1; {char name[12];
类型名2 结构成名表2; char sex;
…… struct date birthday;
类型名n 结构成名表n; float sc[4];
}; };
struct date {int year, month, day};
这样就定义了一个名为student的结构体
而结构体数组是这样的:

(1)结构体数组概述

数组元素是结构体类型的数组,称为结构体数组。与一般的数组一样,结构体数组具有数组的一切性质。

定义结构体数组的方法与定义结构体变量的方法类似,只是要多用一个方括号以说明它是一个数组,可以采用以下方法:

①先定义结构体类型,再用它定义结构体数组。例

struct stud_type

{ char name[20];

int age;

char sex;

struct date birthday;

long num;

float score;

};

struct stud_type student[30];

②在定义结构体数组的同时定义结构体数组。例:

struct stud_type

{ char name[20];

int age;

char sex;

struct date birthday;

long num;

float score;

} student[30];

(2)结构体数组的初始化

结构体数组的初始化,就是在定义结构体数组的同时,为结构体数组元素赋初值。

例:

struct stud_type

{ char name[20];

long num;

int age;

char sex;

float score;

} student[3]={{“wangli”,80101,18,’M’,89.5},

{“zhangfun”,80102,19,’M’,90.5},

{“liling”,80103,20,’M’,98}};

(3)结构体数组的应用

一个结构体数组的元素相当于一个结构体变量,因此前面介绍的关于结构体变量的规则也适合于结构体数组元素。

①引用某一元素中的一个成员

student[i].num

②可以将一个结构体数组元素赋值给同一结构体类型的数组中另一个元素,或赋值给同一类型的变量。例:

struct stud_type student[3],student1;

student1=student[0];

student[0]=student[1];

student[1]=student[2];

③不能把结构体数组元素作为一个整体直接进行输入或输出。

例4 输入3个学生的信息并打印出来。

#include <stdlib.h>

#include <stdio.h>

struct stud_type

{ long num;

char name[20];

int age;

char sex;

int score;

};

main()

{

struct stud_type student[3];

int i; char ch; char numstr[20];

for(i=0;i<3;i++)

{

printf("enter all data of student[%d]:\n",i);

scanf("%ld",&student[i].num);

getchar();

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

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

getchar();

scanf("%c",&student[i].sex);

scanf("%d",&student[i].score);

}

printf("\nrecord name\t\t num age sex score\n");

for(i=0;i<3;i++)

printf("%6d %-13s%8ld%6d %3c %6d\n",i,

student[i].name, student[i].num,

student[i].age,student[i].sex,student[i].score);

}

运行情况如下:

enter all data of student[0]:

10 zhang 18 M 89
enter all data of student[1]:

11 wang 20 F 88
enter all data of student[2]:

12 li 19 M 80
record name num age sex score

0 zhang 10 18 M 89

1 wang 11 20 F 88

2 li 12 19 M 80

热心网友 时间:2022-04-10 03:29

构建结构
strcut student
{
char name[10];
float score;
};
void main()
{
student a[10];
for(int i=0;i<10;i++)
{
cout<<"input the "<<i+1<<" student's name and score:"<<endl;
cin>>a[i].name>>a[i].score;
}
for(i=0;i<10;i++)
for(int j=i+1;j<10;j++)
{
if(a[i].score>a[j].score)
{
student temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
cout<<"成绩升序排列结果:"<<endl;
for(i=0;i<10;i++)
{
cout<<a[i].name<<" "<<a[i].score<<endl;
}
}

热心网友 时间:2022-04-10 05:03

#include <stdio.h>
#include <stdlib.h>
struct student{
char name[20];
float sc;
};
int cmp(const void *a,const void *b)
{
struct student *c,*d;
c = (struct student*)a;
d = (struct student*)b;
if(fabs(c->sc-d->sc)<1e-6) return 0;
else if(c->sc>d->sc) return -1;
else return -1;
}
int main()
{
struct student test[10];
int i;
for(i=0;i<10;i++)
{
scanf("%s%f",test[i].name,&test[i].sc);
getchar();
}
qsort(test,10,sizeof(struct student),cmp);
for(i=0;i<10;i++)
printf("%s %f\n",test[i].name,test[i].sc);
return 0;
}

参考资料:自己敲的

C语言数据结构类型定义的问题

在C语言中,结构体struct指的是一种数据结构,是C语言中聚合数据类型aggregate data type的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员member,且这些成员可以为不同的类型,成员一般用名字访问。

数据结构(C语言版),求高手解决。。

1.二叉树是度为2的有序树( )【答案】× 2.完全二叉树一定存在度为1的结点( )【答案】× 3.深度为K的二叉树中结点总数≤2k-1( )【答案】√ 4.由一棵二叉树的先序序列和后序序列可以惟一确定它( )【答案】× 5.完全二叉树中,若一个结点没有左孩子,则它必是树叶...

C语言版的数据结构问题:数据结构和数据类型的关系?

数据结构 用 struct 定义 比如: struct A {int a, char b, A *p} *pA;那么A属于一个数据结构,a,b,p都属于数据元素。A的初始大小是四个字节,既元素最大的一个的空间。。。里面的成员同时存在,各自有各自的地址,互不干扰。既pA-&gt;a,pA-&gt;b,pA-&gt;p是可以同时存在滴。数据类型 用...

有关数据结构(C语言)的判断题?

1.错.链式存储逻辑上相邻的结点物理上不必相邻,逻辑上的前后顺序实际由指针实现.2.错.链式存储和顺序存储各有优点,适用的情况不同 3.正确.4.正确.5.正确.6.错.深度是指组成该树各结点的最大层次.7.错.叶子节点就没有子树,也可能有的节点有且只有一棵子树.8.正确.9.正确.10.正确....

C语言数据结构的一个基本问题

1 int read_2D_Array(int **array, int i, int j, int column)2 { //i row j column ,总行数为column 3 return((*(int*)array + i*column + j));4 } 以上函数的参数第一行的int **array是函数参数这个参数说明该函数参数列表一接收的数据类型为int ** 型的变量 ...

数据结构问题。。。c语言

main是入口函数,调用printN这个函数。所以,只要确保printN定义在main函数之前,或者是在main调用之前申明。都可以。所以,你可以排成:1、include &lt;stdio.h&gt; void printN(int n){。。。}//把代码放在main前面就不需要申明语句。int main(){ 。。printN(N)。。。} 2、include &lt;stdio.h&gt; vo...

C语言数据结构问题

如果子表为空表,表明查找失败。折半查找又称为二分查找。例如:一个有序顺序表为(9,23,26,32,36,47,56,63,79,81),如果要查找56。利用以上折半查找的思想。其中low和high表示两个指针,分别指向待查找元素的下界和上界,指针mid指向low和high的中间位置,即mid=(low+high)/2。将顺序...

关于数据结构的问题,用C语言描述

关于数据结构的问题,用C语言描述 60 1.设一函数f(x,y)=(1+A*(e^B/cosθ)*(1+C*(cosψ)^2),其中θ=(π*x)/180,ψ=(π*y)/180,参数A=-0.5,B=-0.4,C=-0.1。x从0变化到89,步长为1,y从0变化到359,步长为1。采用一种数据结... 1. 设一函数 f(x,y)=(1+A*(e^B/cosθ)*(1...

关于数据结构(C语言)的几个题

1.随意画几个二叉树就知道了,这里空链域用ε表示,数一数结点个数与ε个数就知道是n+1了 2.具体过程在图中给出。3.第一步将数据(假设为e)放入s的data中;第二步s的后继指向q的后继节点;第三步q的后继指向s 4.查找72只需2步:第一步:设立low、high与mid指针,将72与mid指向的值...

C语言问题(数据结构)

LNode *p=L-&gt;next 定义一个结构体指针p,使其指向L-&gt;next中记录的地址,假设L-&gt;next中记录的地址为0xA,此时p中的内容就是0xA。注意,这一行为是拷贝,即将L-&gt;next中的内容拷贝到p中;L-&gt;next=NULL 令L-&gt;next=NULL,此时L-&gt;next中记录的地址变为0x0,但这一操作并不影响到指针p,p中...

数据结构c语言耿国华 数据结构与c语言有什么联系 c语言的数据结构是什么 不会c语言能学数据结构吗 数据结构用c语言描述 数据结构c语言版难吗 c语言数据结构与算法 数据结构c语言第二版 哈希表数据结构c语言
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
形容饭店香气诱人的词句 我跟平安易贷贷款两万还款期是一年,我一年的利息是多少,知道的帮个忙... 装三聚氰胺的袋子有毒吗 手机微信后台为什么收不到消息? 患有类风湿性关节炎的人爱睡觉,正常吗 快乐大本营20150117谢娜穿的运动鞋是什么牌子的 谢娜在15年3月14号快乐大本营穿的是什么白色的运动鞋 偶像来了谢娜穿的运动鞋是 快乐大本营2016年9月17日那期,谢娜穿的白色运动鞋是什么牌子 20131019快乐大本营谢娜穿运动鞋是什么牌子的?可以附照片吗。。。_百度... 女生发破涕为笑的表情一般怎么回复? 数据结构(C语言),请救高手,万分感谢. 大连径点科技,笔试通过了,明天要我去面试,软件开发C语言的,急求大师提示都问什么题?在线等!!!!! C和数据结构就业问题 没错,又是那个我!求图,四月是你的谎言图,和我发的差不多就行,要清晰 他是没错就是我表情包 有道C语言的面试题: C语言中的数据结构问题 没错,又是我,又来求高清原图了...小鹿的这张高清原图? C程序数据结构线性链表 排序sort(面试题 填空题 )自己做了一部分,后面不会做 前面的还不知对否 oppo手机屏幕没事 触屏失灵怎么办 oppo手机触屏失灵输不了密码 辩论会善意的谎言反方资料 “善意的谎言”辩论会反方 辩论赛:善意的谎言反方 善意的谎言与诚实辩论赛辩词 列举善意的谎言辩论会反方问题有哪些? 急急急!!!洗衣机进水了,不能正常工作了 洗衣机操作按钮进水了怎么办 洗衣机开关进水,受潮,要怎么办? 关于C语言数据结构的问题 C语言、数据结构。 28号在抖音上买的衣服到现在没到货怎么查? c语言求助,关于数据结构方面 请问&#xF91D;这个表情是“我也是”还是“你好”的意思? 想找一个表情包,就是一些人总发“哦”,想那个表情包上写着再发“哦”我就怎么样的。 手机投屏看电视怎么才可以把微信声音抖音声音关掉 跪求一篇高三后的学习计划书...1000字左右 学习计划800字 高三最后一百天学习计划的作文,谢谢… 高三学习的计划 如何避免装修安全隐患 家装隐患有哪些 如何避开家装隐患 不开玩笑,春季装修警惕三大安全隐患! 安全小知识,装修中哪些安全隐患需注意? 如何在装修时规避火灾隐患? 家庭装修涉及到很多安全问题,家庭装修安全隐患有什么? 绝味擀面皮配方。 ? 怎么做。 好想吃。 这边都买不到 家庭装修有哪些不正确的做法,如何去避免安全隐患 求宿迁擀面皮的汤汁的正宗做法~