C语言结构体数组的定义
建立一个学生情况登记表的表格空间(学生5人),包括学号.姓名.2门课程的成绩总分和平均分!怎么写啊~谁教我下~...
建立一个学生情况登记表的表格空间(学生5人),包括学号.姓名.2门课程的成绩总分和平均分!怎么写啊~谁教我下~
展开
22个回答
展开全部
第一种是定义一个结构体并取个student结构体名,下次定义结构体是:
只要:student <标识符>; 乳student stu;
而第二种:必须这样定义:struct student stu;
只要:student <标识符>; 乳student stu;
而第二种:必须这样定义:struct student stu;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先需要弄清typedef的作用:
int a; //首先定义一个int型的变量a
typedef a my_int; //typedef 的作用是声明一种新的数据类型,该数据类型和变量a所属的类型一样。
my_int b; //然后就可以使用typedef声明的新的数据类型my_int来定义新的变量b,此时b就是my_int类型也就是int类型
struct LNode
{
char data;
struct LNode *next;
}
上面这个结构体定义应该很熟悉,就是定义了一个LNode的结构体变量,可以类似于上面的变量a。这里我们把struct LNode结构体变量替换为变量a,所以你的结构体变为:
typedef a LNode,*LinkList
上面的代码等价于下面两行:
typedef a LNode; //定义LNode是一种struct LNode的数据类型,比如:LNode my_struct;
typedef a *LinkList; //定义了一种指向LNode数据类型的指针类型LinkList,比如:LinkList my_point;
int a; //首先定义一个int型的变量a
typedef a my_int; //typedef 的作用是声明一种新的数据类型,该数据类型和变量a所属的类型一样。
my_int b; //然后就可以使用typedef声明的新的数据类型my_int来定义新的变量b,此时b就是my_int类型也就是int类型
struct LNode
{
char data;
struct LNode *next;
}
上面这个结构体定义应该很熟悉,就是定义了一个LNode的结构体变量,可以类似于上面的变量a。这里我们把struct LNode结构体变量替换为变量a,所以你的结构体变为:
typedef a LNode,*LinkList
上面的代码等价于下面两行:
typedef a LNode; //定义LNode是一种struct LNode的数据类型,比如:LNode my_struct;
typedef a *LinkList; //定义了一种指向LNode数据类型的指针类型LinkList,比如:LinkList my_point;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码仅供参考:
#include "stdio.h"
#include "conio.h"
struct books
{
char *name;
char *press;
char *author;
float price;
};
struct books lib[]={{"C language","UESTC","Zhuang San",12.50},{"PASCAL","UESTC","Li Si",10.00},{"English Reading","UESTC","Wang wu",8.00},{"########","#####","######",0}};//由于篇幅有限,这里只给出三本书的信息
main()
{
find();
printf("Press any key continue...\n");
getch();
}
//图书查询子函数
find()
{
struct books *p;
char sm[100];
int i=0;
p=&lib[i];
printf("Please input the name of books:\n");
gets(sm);
printf("The information of the books:\n");
while(p->price!=0)//用p->price成员的值控制循环
{
if(strcmp(p->name,sm)==0)
{
printf("%18s%8s%8s%7.2f\n",p->name,p->author,p->press,p->price);
break;//当字符比较函数值为0,表明该书已找到,打印并跳出循环
}
i++;//否则将下标加1移向下一元素
p=&lib[i];//让指针再指向这一元素后继续查找
}
if(p->price==0)//p->price=0,表明整个书库都已查完并没有找到所要的书
printf("Sorry ! Your inquires the book was not found.\n");
}
#include "stdio.h"
#include "conio.h"
struct books
{
char *name;
char *press;
char *author;
float price;
};
struct books lib[]={{"C language","UESTC","Zhuang San",12.50},{"PASCAL","UESTC","Li Si",10.00},{"English Reading","UESTC","Wang wu",8.00},{"########","#####","######",0}};//由于篇幅有限,这里只给出三本书的信息
main()
{
find();
printf("Press any key continue...\n");
getch();
}
//图书查询子函数
find()
{
struct books *p;
char sm[100];
int i=0;
p=&lib[i];
printf("Please input the name of books:\n");
gets(sm);
printf("The information of the books:\n");
while(p->price!=0)//用p->price成员的值控制循环
{
if(strcmp(p->name,sm)==0)
{
printf("%18s%8s%8s%7.2f\n",p->name,p->author,p->press,p->price);
break;//当字符比较函数值为0,表明该书已找到,打印并跳出循环
}
i++;//否则将下标加1移向下一元素
p=&lib[i];//让指针再指向这一元素后继续查找
}
if(p->price==0)//p->price=0,表明整个书库都已查完并没有找到所要的书
printf("Sorry ! Your inquires the book was not found.\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这段程序意思是定义一个LNode类的结构体,后面的LNode是结构体变量,LinkList是结构体指针。里面的struct LNode *next是定义指向LNode结构体的指针域,说明LNode结构体里面结点一共两个域一个数据域,一个指针域。}后面的LNode可以去掉,可以在其他地方声明结构体变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
#include "string.h"
#define N 50
struct infoma{
char fname[N];
char lname[N];
int allwd;
};
struct infoma funname(struct infoma namet)
{
printf("please putin you first name:\n");
gets(namet.fname);
printf("please putin you last name:\n");
gets(namet.lname);
return namet;
}
struct infoma allname(struct infoma namet)
{
namet.allwd=strlen(namet.fname)+strlen(namet.lname);
return namet;
}
void putout(struct infoma namet)
{
printf("%s %s,your name have %d words\n",namet.lname,namet.fname,namet.allwd);
}
main()
{
struct infoma guy;
guy=funname(guy);
guy=allname(guy);
putout(guy);
}
#include "string.h"
#define N 50
struct infoma{
char fname[N];
char lname[N];
int allwd;
};
struct infoma funname(struct infoma namet)
{
printf("please putin you first name:\n");
gets(namet.fname);
printf("please putin you last name:\n");
gets(namet.lname);
return namet;
}
struct infoma allname(struct infoma namet)
{
namet.allwd=strlen(namet.fname)+strlen(namet.lname);
return namet;
}
void putout(struct infoma namet)
{
printf("%s %s,your name have %d words\n",namet.lname,namet.fname,namet.allwd);
}
main()
{
struct infoma guy;
guy=funname(guy);
guy=allname(guy);
putout(guy);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询