#include<malloc.h>
#define LEN sizeof(struct STUDENT_NODE)
int n
struct STUDENT_NODE
{
long int id
char name
char sex
int age
struct STUDENT_NODE *head
}
void iniStudentLink(struct STUDENT_NODE *L)//初始化链表
{
struct STUDENT_NODE *p1,*p2
p1=p2=(struct STUDENT_NODE *)malloc(LEN)
scanf("%ld,%s,%s,%d",&p1->id,&p1->name,&p1->sex,&p1->age)
head=NULL
while(p1->id!=0)
{
n=n+1
if(n==1)
head=p1
else
p2->head=p1
p2=p1
p1=(struct STUDENT_NODE*)malloc(LEN)
scanf("%ld,%s,%s,%d",&p1->id,&p1->name,&p1->sex,&p1->age)
}
p2->head=NULL
return(L)
}
void clearStudentLink(struct STUDENT_NODE *L)//清空
{
free(void *L)
}
int isExist(struct STUDENT_LINK *L,long int id)//判断是否存在
{
struct STUDENT_NODE *p
if(L==NULL)
printf("List Null!\n")
else
{
p=L
while(id!=p->id &&p->id!==NULL)
p->head
if(id==p->id)
printf("The %ld Is Exist\n",id)
else
printf("%ld Not Been Found\n",id)
}
}
int Add(struct STUDENT_NODE *L,long int id,char name,char sex,int age)//添加学生信息
{
struct STUDENT_NODE *p0,*p1,*p2,NewStu
NewStu.id=id,NewStu.name=name,NewStu.sex=sex,NewStu.age=age
p1=L
p0=NewStu
if(L==NULL)
{
L=p0
p0->head=NULL
}
else
{
while((p0->id>p1->id) &&(p1->head!=NULL))
{
p2=p1
p1=p1->head
}
if(p0->id<=p1->id)
{
if(L==p1)
L=p0
p0->head=p1
}
else
{
p1->head=p0
p0->head=NULL
}
}
return(L)
}
int Modify(struct STUDENT_NODE *L,long int id)//修改学生信息
{
struct STUDENT_NODE *p
if(L==NULL)
{
printf("List Null!\n")
}
else
{
p=L
while(id!=p->id &&p->head!==NULL)
p=p->head
if(id==p->id)
{
scanf("%ld,%s,%s,%d",&p->id,&p->name,&p->sex,&p->age)
}
else
printf("%ld Not Been Found!",id)
}
return(L)
}
int Delete(struct STUDENT_NODE *L,long id)//删除学生信息
{
struct STUDENT_NODE *p1,*p2
if(L==NULL)
{
printf("List Null!\n")
}
else
{
p1=L
while(id!=p1->id &&p1->head!==NULL)
{
p2=p1
p1=p1->head
}
if(id==p1->id)
{
if(p1==L)
L=p1->head
else
p2->head=p1->head
printf("Delete:%ld\n",id)
}
else
printf("%ld Not Been Found\n",id)
}
return(L)
}
int Search(struct STUDENT_NODE *L,long id)//搜索学生信息
{
struct STUDENT_NODE *p
if(L==NULL)
{
printf("List Null!\n")
}
else
{
p=L
while(id!=p->id &&p->head!==NULL)
p=p->head
if(id==p->id)
{
printf("No. Name. Sex. Age. \n")
printf("%10ld%10s%10s%10d",p->id,p->name,p->sex,p->age)
}
else
printf("%ld Not Been Found!\n")
}
return(L)
}
问题补充:void ShowAll(struct STUDENT_NODE *L)//显示所有学生信息
{
struct STUDENT_NODE *p
printf("No. Name. Sex. Age. \n")
p=L
if(L!=NULL)
do
{
printf("%10ld%10s%10s%10d\n",p->id,p->name,p->sex,p->age)
}
while(p!=NULL)
}
void main()
{
struct STUDENT_NODE *L
long int id
char name,sex
int age
L=creat()
printf("1.初始化\n2.清空\n3.判断信息是否存在\n4.添加新同学\n5.修改信息\n6.删除信息\n7.搜索信息\n8.输出所有信息")
scanf("%d",n)
if(n==1)
iniStudentLink(L)
else if(n==2)
clearStudentLink(L)
else if(n==3)
{
scanf("%ld",&id)
isExist(L,id)
}
else if(n==4)
{
scanf("%ld,%s,%s,%d",&id,&name,&sex,&age)
Add(L,id,name,sex,age)
}
else if(n==5)
{
scanf("%ld",&id)
Modify(L,id)
}
else if(n==6)
{
scanf("%ld",&id)
Delete(L,id)
}
else if(n==7)
{
scanf("%ld",&id)
Search(L,id)
}
else if(n==8)
{
ShowAll(L)
}
}
一、c语言是一种计算机编程语言具有程序设计语言的特性,又具有汇编语言的特性。c语言可当做工作中控制系统设计语种,撰写系手机应用程序,还可以当做运用编程语言,撰写不依靠计算机硬件的手机应用程序。
二、运用条件广泛应用
具有较强的数据预处理能力,不但是在开发软件上,并且各种科学研究都必须用到c语言,适合撰写软件系统,三维立体,二维动画几何体和3d动画。具体化运用例如单片机设计及其嵌入式系统开发设计。
三、c语言是面向对象编程语种
c语言运用windows服务平台下编译的,是一直执行在windows服务平台下的,而Java自始至终是执行在他的虚拟机以上的因此理论上c语言能做某些相对性于较为下层的工作中,像Java就不可以撰写Windows木马病毒。
四、Windows系统优化
假如要运用编程来做某些windows系统优化工作中的情况下,最好还是运用c语言。c语言是现阶段世界上最火、用到最广泛应用的高级编程语言。