精华内容
下载资源
问答
  • C语言文章更新目录 ...C语言中的输入输出函数 C语言流程控制语句 C语言数组——一维数组 C语言数组——二维数组 C语言数组——字符数组 C语言中常用的6个字符串处理函数 精心收集了60个C语言项目源码,分享给大家

    C语言文章更新目录

    C/C++学习资源(百度云盘链接)
    计算机二级资料(过级专用)
    C语言学习路线(从入门到实战)
    编写C语言程序的7个步骤和编程机制
    C语言基础-第一个C程序
    C语言基础-简单程序分析
    VS2019编写简单的C程序示例
    简单示例,VS2019调试C语言程序
    C语言基础-基本算法
    C语言基础-数据类型
    C语言中的输入输出函数
    C语言流程控制语句
    C语言数组——一维数组
    C语言数组——二维数组
    C语言数组——字符数组
    C语言中常用的6个字符串处理函数
    精心收集了60个C语言项目源码,分享给大家
    C语言核心技术——函数
    C代码是怎样跑起来的?
    C语言实现字符串的加密和解密
    C语言——文件的基本操作

    今天来介绍一下C语言中常见的一种数据结构——链表

    如下是链表的结构示意图:

    image.png

    在链表中有一个头指针变量,图中head表示的就是头指针,这个指针变量保存一个地址。也就是说头指针指向一个变量,这个变量就是量表的元素。在链表中每一个元素包括数据部分和指针部分。数据部分用来存放元素所包含的数据,而指针部分用来指向下一个元素。最后一个元素的指针指向null,表示指向的地址为空。

    从示意图中我们可以看到,head头结点指向第一个元素,第一个元素的指针指向第二个元素,第二个元素的指针又指向第三个元素,第三个元素的指针指向null。这样我们就可以通过头指针寻找链表中的元素。

    下来我们通过一个具体的实例来深入地了解一下链表,编写一个学生信息的链表结构,并且将链表中的信息进行输出。

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    struct Student
    {
        char name[20];//姓名
        int id;//学号
        struct Student* next;//指向下一个节点的指针
    };
    
    int count;//表示链表长度
    
    struct Student* create()
    {
        struct Student* head = NULL;//初始化链表的头指针
        struct Student* end, * new;
        count = 0;//初始化链表长度
    
        end = new = (struct Student*)malloc(sizeof(struct Student));//动态分配内存空间
        printf("请输入姓名,学号\n");
        scanf("%s", &new->name);
        scanf("%d", &new->id);
        while (new->id != 0)
        {
            count++;
            if (count == 1)
            {
                new->next = head;//使得指向为空
                end = new;//跟踪新加入的节点
                head = new;//头指针指向首节点
            }
            else
            {
                new->next = NULL;//新节点的指向为空
                end->next = new;//原来的为节点指向新节点
                end = new;//end指向新节点
            }
    
            new = (struct Student*)malloc(sizeof(struct Student));//再次动态分配节点的内存空间
            scanf("%s", &new->name);
            scanf("%d", &new->id);
    
        }
        free(new);//释放空间
        return head;
    };
    
    void show(struct Student* head) {
        struct Student *temp;
        int index = 1;
        printf("有%d位学生:\n",count);
        temp = head;
        while (temp != NULL)
        {
            printf("第 %d 位学生的姓名是:%s,学号是:%d \n", index, temp->name, temp->id);
            temp = temp->next;
            index++;
        }
    }
    
    int main() {
        struct Student* head;//定义头结点
        head = create();//创建节点
        show(head);//输出链表
        return 0;
    }
    

    运行结果

    image.png

    如果您觉得本篇文章对您有帮助,请转发给更多的人
    C语言中文社区】是一个C语言/C++视频教程、学习笔记、电子书、计算机二级资料等专注于C语言/C++编程学习者的干货知识分享平台,精选深度文章,分享优秀干货类、技能类的学习资源,帮助学习中的你。
    在这里插入图片描述

    展开全文
  • C语言文件的输入输出_学生信息

    千次阅读 2015-07-11 10:57:23
    输入学生的有关信息,转存到磁盘文件上去: #include #define SIZE 3 struct Student{ char name[10]; int num; int age; char address[10]; }stu[SIZE];/*结构体数组*/ /*以下为输入函数*/ void save(){ ...

    输入学生的有关信息,转存到磁盘文件上去:

    #include<stdio.h>
    #define SIZE 3
    struct Student{
    	char name[10];
    	int num;
    	int age;
    	char address[10];
    }stu[SIZE];/*结构体数组*/ 
    
    /*以下为输入函数*/ 
    void save(){
    	FILE *fp;
    	int i;
    	if((fp=fopen("stu.dat","wb"))==NULL){ /*以写的方式打开,并判断是否将文件读完*/  //wb是只写的方式 
    		printf("can not open file\n");
    		return ;
    	}
    	for(i=0;i<SIZE;i++)
    		if(fwrite(&stu[i],sizeof(Student),1,fp)!=1)  /*数据块输出函数,用于将数据输出到磁盘文件中*/ //如果是正确的返回值是1 
    			printf("file write error\n");
    			fclose(fp);  //关闭文件 
    }
    
     /*以下函数用于浏览*/  
    void get(){
    	FILE *fp;
    	int i;
    	if((fp=fopen("stu.dat","rb"))==NULL){  //rb是只读的意思  
    		printf("can not open file\n");
    		return ;
    	}
    	for(i=0;i<SIZE;i++){
    		fread(&stu[i],sizeof(Student),1,fp);
    			printf("%-10s %4d %4d %-10s\n",stu[i].name,stu[i].num,stu[i].age,stu[i].address);
    	}
    	fclose(fp);
    }//读出 
    int main(){
    	int i;
    	printf("please enter data of students(name num age address):\n");
    	for(i=0;i<SIZE;i++)
    		scanf("%s%d%d%s",stu[i].name,&stu[i].num,&stu[i].age,stu[i].address);
    	save();
    	printf("data of students(name num age address):\n");
    	get();
    	return 0;
    }


    展开全文
  • printf("\n请输入学生信息:"); printf("\n学期"); printf("\n-------------------------------------------------------------\n"); getchar(); gets(st->xueqi); printf("\n学号"); printf("\n-------...
  • C语言结构体之输入学生基本信息

    万次阅读 多人点赞 2019-03-21 22:57:34
    输入学生信息,计算总分以及平均分后输出 #Include<stdio.h> #define N 100 struct Student//创建一个student的结构体 { int num;//学生人数 char name[20];//存储学生姓名的一个数组 cha...

    为了描述不同属性的集合的结构,又不破坏集合之间的个属性之间的关系,需要构造新的数据类型;
    直接上代码,没必要那么多口水话;输入学生的信息,计算总分以及平均分后输出

    #include<stdio.h>
    #include<string.h>
    #define N 100
    struct student
    {
     int sno;
     char name[20];
     char sex[4];
     int age;
     int score[3];
     int sum;
     float average;
    };
    void count(struct student *,int  );
    void count(struct student *st,int num )
    {
     int i; 
     for(i=0;i<num;i++)
     {
      st[i].sum=st[i].score[0]+st[i].score[1]+st[i].score[2];
      st[i].average=st[i].score[0]+st[i].score[1]+st[i].score[2]/3.0;
     }
     //打印
     printf("\n\t学号\t   姓名  \t性别\t语文\t英语\t高数\t总分\t平均分\n");
     for(i=0;i<num;i++)
     {
      printf("\t%d %s        %s\t%d\t%d\t%d\t%d\t%f\n",st[i].sno,st[i].name,st[i].sex,st[i].score[0],st[i].score[1],st[i].score[2],st[i].sum,st[i].average);
      } 
     return;
    }
    int main()
    {
     int i;
     struct student st[N];
     int num1;//需要输入的学生人数
     printf("请输入录入人数:\n");
     scanf("%d",&num1);
     if(N<num1)
     {
      num1=N;
      printf("最大人数为N=100!\n");
      } 
     for(i=0;i<num1;i++)
     {
      printf("姓名:");scanf("%s",st[i].name);
      printf("学号:");scanf("%d",&st[i].sno);getchar();
      printf("性别:");scanf("%s",&st[i].sex);
      printf("语文成绩:");scanf("%3d",&st[i].score[0]);
      printf("英语四级成绩:");scanf("%3d",&st[i].score[1]);
      printf("高数成绩:");scanf("%3d",&st[i].score[2]);
     }
     count(st,num1);
     return 0;
    }
    展开全文
  • c语言(结构体)---实现学生信息输入输出,查询

    万次阅读 多人点赞 2017-11-10 15:05:10
    c语言(结构体)---实现学生信息输入输出,查询 利用结构体实现学生信息输入输出,以及生日日期查询 #include #define NUM 3 //日期结构体 typedef struct{ int year; int month; int day; }DATE; ...

    c语言(结构体)---实现学生信息输入,输出,查询


    利用结构体实现学生信息的输入,输出,以及生日日期查询

    #include<stdio.h>
    #define NUM 3
    //日期结构体
    typedef struct{
    	int year;
    	int month;
    	int day;
    }DATE;
    //学生信息结构体
    typedef struct{
    	int num;
    	char name[20];
    	DATE birthday;
    	char department[50];
    	char major[50];
    }STUDENT;
    //输入信息函数
    void inputStudent(STUDENT[]);
    //输出信息函数
    void outputStudent(STUDENT[]);
    //查询信息函数
    void searchStudent(STUDENT[],DATE);
    void main(){
    	STUDENT s[NUM];
    	DATE date;
    	inputStudent(s);
    	outputStudent(s);
    	printf("\n Enter a date(month,day) \n");
    	scanf("%d%d",&date.month,&date.day);
    	searchStudent(s,date);
    }
    void inputStudent(STUDENT s[]){
    	int i;
    	for(i=0;i<NUM;i++){
    		printf("\n Enter a student infomation \n");
    		s[i].num = i+1;
    		scanf("%s",&s[i].name);
    		scanf("%d%d%d",&s[i].birthday.year,&s[i].birthday.month,&s[i].birthday.day);
    		scanf("%s",&s[i].department);
    		scanf("%s",&s[i].major);
    	}
    }
    void outputStudent(STUDENT s[]){
    	int i;
    	printf("\n printf all student infomation");
    	for(i=0;i<NUM;i++){
    		printf("\n%4d%10s%8d%3d%3d%8s%8s",s[i].num,s[i].name,s[i].birthday.year,s[i].birthday.month,s[i].birthday.day,s[i].department,s[i].major);
    	}
    }
    void searchStudent(STUDENT s[], DATE date){
    	int i;
    	printf("\n searched in all student infomation");
    	for(i=0;i<NUM;i++){
    		if(s[i].birthday.month>date.month){
    			printf("\n%4d%10s%8d%3d%3d",s[i].num,s[i].name,s[i].birthday.year,s[i].birthday.month,s[i].birthday.day);
    			continue;
    		}
    		if(s[i].birthday.month==date.month && s[i].birthday.day>date.day){
    			printf("\n%4d%10s%8d%3d%3d",s[i].num,s[i].name,s[i].birthday.year,s[i].birthday.month,s[i].birthday.day);
    		}
    	}
    	printf("\n");
    }
    

    结果:




    展开全文
  • C语言课程设计实验报告 一设计目的 学生信息包括学号姓名性别系名班级名出生年月住址电话号码设计一学生信息管理系统使之能提供以下功能 1.系统以菜单方式工作 2.学生信息录入功能(输入) 3.学生信息浏览功能(输出; ...
  • C语言课程设计:学生信息管理系统 学生信息包括:学号,姓名,年龄,性别,出生年月。地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)学生信息录入功能(学生...
  • 字符则继续创建结点存储学生信息,否则按任意键结束输入。 (2)写自定义函数求学生成绩最大值。 (3)写自定义函数释放链表所占内存。 输入输出格式: **输入提示,“请输入学生姓名,学号...
  • 学生信息管理系统 算法分析 1 用结构体标出信息系统的成员学生学号学生姓名班级 成绩排名 2 利用 c 语言的文件知识将系统的信息存放在 c 盘下的 zuoye.txt的文件夹下 3 定义各个子函数1定义输入信息函数将学生信息按...
  • 密码登陆 密码修改等 学生信息输入输出修改 成绩录入修改查看
  • C语言课程设计 学生档案信息管理系统 实现学生基本信息输入输出、修改、查询等功能。登录密码000000.
  • 学生信息录入功能(学生信息用文件保存)—输入 学生信息浏览功能—输出 查询、排序功能—算法 按学号查询 按姓名查询 学生信息的删除与修改 有一个清晰美观界面来调用各个功能,界面设计以用户为中心,操作方便、...
  • 输入学生信息,验证其是否符合规则。 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,... 3、学生信息浏览功能---输出 4、查询、排序功能---算法 5、按学号查询 6、按姓名查询 7、学生信息的删除与修改
  • C语言】文件信息输入输出

    千次阅读 2018-10-14 22:08:54
    学生信息(姓名,年龄,学号,家庭住址)写入文件,并输出某一学生信息(比如最后一个学生) 程序中所涉及的函数如下: 1:文件打开函数:fopen(欲打开的文件名称or文件路径,哪种方式) 2:文件关闭函数:fclose...
  • [c语言]文件信息输入输出

    千次阅读 2015-06-21 23:37:30
    学生信息(姓名,年龄,学号,家庭住址)写入文件,并输出某一学生信息(比如最后一个学生) 程序中所涉及的函数如下: 1:文件打开函数:fopen(欲打开的文件名称or文件路径,哪种方式) 2:文件关闭函数:...
  • ``` #include #include struct student { char name[20];... printf("请输入学生姓名:\n");... printf("正在输出所有学生信息:\n"); print(stu); } ``` 然后就出现了这种qing'k
  • C语言课程设计,学生信息管理系统。由C语言编写的命令行程序,使用文件存储学生信息。编制了严格的输入约束函数,避免了用户的误操作,控制了输入输出的格式。
  • printf("请输入第%d位学生的数学成绩:",i+1); scanf("%d",&student[i].math); printf("请输入第%d位学生的英语成绩:",i+1); scanf("%d",&student[i].eng); printf("请输入第%d位学生的计算机成绩:",...
  • 按2 输出学生信息 按3 查询学生信息 按4 修改学生信息 按5 删除学生信息 按6 插入学生信息 按7 排序总成绩信息 学生信息主要有姓名,班级,学号,C语言成绩,高数成绩,大学英语成绩,控制台界面输出格式有点不美观...
  • Don’t look forward to tomorrow, don’t miss yesterday, to grasp today。不憧憬明天,不留念昨日,只把握今日。...输出该学号学生信息 如果不存在则输出Not Found! 样例输入: 11405200102 如a.tx
  • //输出学生信息 void input(STU s[],int n){//输入学生信息 for(int i=0;i;i++){ printf("请输入学生信息:\n"); scanf("%d%s%s%f%f%f",&s[i].id,&s[i].name,&s[i].subject,&s[i].perf,&s[i].mid,&s[i]....
  • 2、模仿EXCEL中的自动筛选,设计完成班级学生信息的自动筛选程序。 实验要求 1.该实验的课内学时是4个课时。 2.题目1必须完成。 3.题目2完成如下基本功能: 1)自定义班级学生信息结构体,结构体的数据项超过5个...
  • c语言编写的一个学生信息管理系统。可以输入学生信息,查询,删除和修改,排序输出
  • codeup结构体输入输出 问题 B: C语言11.2 题目描述 定义一个结构体student,存储学生的学号、名字、性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出。结构体student的定义如下: struct student { int ...
  • C语言编的学生信息管理系统,可用于查询,输入输出等功能
  • 本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 /*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016...
  • 实现所有学生信息输出  3.输入指定学生姓名,并能输出这名学生的信息  4.将学生成绩按照语文和数学成绩排序 思路: 1. 首先,先把这个小项目的框架打好。考虑要写几个文件,每一个文件里面实现怎样的功能。考虑...
  • 根据题目要求,由于学生信息是存放在文件中,应提供文件的输入输出等操作;在程序中要浏览学生的信息,应提供显示、查找、修改、删除、排序等操作;另外还应该提供键盘式选择菜单实现功能选择。
  • 本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下...
  • 将查找到的学生信息输出学生信息包括学生姓名、学生成绩,中间使用空格隔开。如果没有找到则打印"没有找到"。 输入示例: 例1 张飞 例2 李逵 输出示例: 例1 张飞 95 例2 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 558
精华内容 223
关键字:

c语言输入输出学生信息

c语言 订阅