6.27-6.29 旧c语言

news2024/10/6 5:56:45
#include<stdio.h>
struct stu
{
    int num;
    float score;
    struct stu *next;
};
void main()
{
    struct stu a,b,c,*head;//静态链表
    a.num = 1;
    a.score = 10;
    b.num = 2;
    b.score = 20;
    c.num = 3;
    c.score = 30;
    head = &a;
    a.next = &b;
    b.next = &c;
    do
    {
        printf("%d,%5.1f\n",head->num,head->score);
        head = head->next;
    }while(head != NULL);
}

在这里插入图片描述
在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct stu)
int n;
struct stu
{
    int num;
    float score;
    struct stu *next;
};
struct stu *creat()//建立动态链表
{
    struct stu *p1,*p2,*head;
    p1 = p2 = (struct stu *)malloc(LEN);
    printf("input num:\n");
    scanf("%d",&p1->num);
    printf("input score:\n");
    scanf("%f",&p1->score);
    head = NULL,n = 0;
    while(p1->num != 0)
    {
        n++;
        if(n == 1)
        {
            head = p1;
        }
        else
        {
            p2->next = p1;
        }
        p2 = p1;//
        p1 = (struct stu *)malloc(LEN);
        printf("input num:\n");
        scanf("%d",&p1->num);
        printf("input score:\n");
        scanf("%f",&p1->score);
    }
    p2->next = NULL;
    return head;

}
void print(struct stu *head)
{
    struct stu *p;
    printf("there are %d record stu\n",n);
    p = head;
    if(head != NULL)
    {
        do
        {
            printf("num = %d,score = %f\n",p->num,p->score);
            p = p->next;
        }while(p);//直到p为空结点退出循环
    }
}
void main()
{
    struct stu *p;
    p = creat();
    print(p);
}

在这里插入图片描述

#include<stdio.h>//增删改查
#include<stdlib.h>
#define LEN sizeof(struct stu)
struct stu *del(struct stu *head,int n);
struct stu *creat();
void print(struct stu *head);
int n;
struct stu
{
    int num;
    float score;
    struct stu *next;
};
struct stu *del(struct stu *head,int m)
{
    struct stu *p1,*p2;
    p1 = head;
    if(head == NULL)//判断是否为空链表
    {
        printf("this is kong node\n");
        return NULL;
    }
    while(p1->num != m && p1->next != NULL)//删除的值不是当前结点,且当前结点不为尾节点
    {
        p2 = p1;
        p1 = p1->next;
    }
    if(p1->num == m)//找到节点
    {
        if(p1 == head)//如果当前节点为头结点
        {
            head = p1->next;
        }
        else//此时为普通结点
        {
            p2->next = p1->next;
        }
        printf("del NO:%d success!\n",m);
        n = n-1;
    }
    else
    {
        printf("%d no found!\n",n);
    }
    return head;
}
struct stu *creat()
{
    struct stu *p1,*p2,*head;
    p1 = p2 = (struct stu *)malloc(LEN);
    printf("input num:\n");
    scanf("%d",&p1->num);
    printf("input score:\n");
    scanf("%f",&p1->score);
    head = NULL,n = 0;
    while(p1->num != 0)
    {
        n++;
        if(n == 1)
        {
            head = p1;
        }
        else
        {
            p2->next = p1;
        }
        p2 = p1;
        p1 = (struct stu *)malloc(LEN);
        printf("input num:\n");
        scanf("%d",&p1->num);
        printf("input score:\n");
        scanf("%f",&p1->score);
    }
    p2->next = NULL;
    return head;

}
void print(struct stu *head)
{
    struct stu *p;
    printf("there are %d record stu\n",n);
    p = head;
    if(head != NULL)
    {
        do
        {
            printf("num = %d,score = %f\n",p->num,p->score);
            p = p->next;
        }while(p);
    }
}
void main()
{
    struct stu *stu,*p;
    int k;
    stu = creat();
    p = stu;
    print(p);
    printf("del num is:\n");
    scanf("%d",&k);
    print(del(p,k));
}

在这里插入图片描述
在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct stu)
struct stu *del(struct stu *head,int n);
struct stu *creat();
void print(struct stu *head);
struct stu *inser(struct stu *head,struct stu *ins);
struct stu *lookfor(struct stu *head,struct stu *look);
struct stu *wrilink(struct stu *head,struct stu *stu4);
struct stu
{
    int num;
    float score;
    struct stu *next;
};
int n;
struct stu *wrilink(struct stu *head,struct stu *stu4)
{
    struct stu *p;
    p = head;
    if(head == NULL)
    {
        printf("无数据可修改!\n");
    }
    else
    {
        while(p != NULL)
        {
            if(p->num == stu4->num)
            {
                p->score = stu4->score;
            }
            p = p->next;
        }
    }
    return head;
}
struct stu *lookfor(struct stu *head,struct stu *look)
{
    struct stu *p;
    p = head;
    if(p == NULL)
    {
        printf("没有数据!\n");
    }
    else
    {
        while(p != NULL)
        {
            if(p->num == look->num)
            {
                printf("找到第%d个数据,分数为%f\n",p->num,p->score);
            }
            p = p->next;
        }
    }
    return head;
}
struct stu *inser(struct stu *head,struct stu *ins)
{
    struct stu *p1,*p2,*p0;
    p0 = ins;
    p1 = head;
    if(head == NULL)
    {
        head = p0;
        p0->next = NULL;
    }
    else
    {
        while((p0->num >p1->num) && (p1->next != NULL))
        {
            p2 = p1;
            p1 = p1->next;
        }
        if(p0->num <= p1->num)
        {
            if(p1 == head)
            {
                head = p0;
            }
            else
            {
                p2->next = p0;
            }
            p0->next = p1;
        }
        else
        {
            p1->next = p0;
            p0->next = NULL;
        }
        n = n+1;
        return head;
    }
}
struct stu *del(struct stu *head,int m)
{
    struct stu *p1,*p2;
    p1 = head;
    if(head == NULL)
    {
        printf("this is kong node\n");
        return NULL;
    }
    while(p1->num != m && p1->next != NULL)
    {
        p2 = p1;
        p1 = p1->next;
    }
    if(p1->num == m)
    {
        if(p1 == head)
        {
            head = p1->next;
        }
        else
        {
            p2->next = p1->next;
        }
        printf("del NO:%d success!\n",m);
        n = n-1;
    }
    else
    {
        printf("%d no found!\n",n);
    }
    return head;
}
struct stu *creat()
{
    struct stu *p1,*p2,*head;
    p1 = p2 = (struct stu *)malloc(LEN);
    printf("input num:\n");
    scanf("%d",&p1->num);
    printf("input score:\n");
    scanf("%f",&p1->score);
    head = NULL,n = 0;
    while(p1->num != 0)
    {
        n++;
        if(n == 1)
        {
            head = p1;
        }
        else
        {
            p2->next = p1;
        }
        p2 = p1;
        p1 = (struct stu *)malloc(LEN);
        printf("input num:\n");
        scanf("%d",&p1->num);
        printf("input score:\n");
        scanf("%f",&p1->score);
    }
    p2->next = NULL;
    return head;

}
void print(struct stu *head)
{
    struct stu *p;
    printf("there are %d record stu\n",n);
    p = head;
    if(head != NULL)
    {
        do
        {
            printf("num = %d,score = %f\n",p->num,p->score);
            p = p->next;
        }while(p != NULL);
    }
}
void main()
{
    struct stu *stu,*p,stu2,stu3,stu4;
    int k;
    stu = creat();
    p = stu;
    print(p);
    printf("del num is:\n");
    scanf("%d",&k);
    print(del(p,k));
    printf("insert into the num:");
    scanf("%d",&stu2.num);
    printf("insert into the score:");
    scanf("%f",&stu2.score);
    p = inser(stu,&stu2);
    print(p);
    printf("请输入查找的数据是:");
    scanf("%d",&stu3.num);
    lookfor(stu,&stu3);
    printf("请输入修改的学号:");
    scanf("%d",&stu4.num);
    printf("请输入修改的学号数据:");
    scanf("%f",&stu4.score);
    p = wrilink(stu,&stu4);
    print(p);
}


typedef 声明新的类型名来代替已有的类型名,有利于程序通用与移植

#include<stdio.h>
typedef struct
{
    int year;
    int month;
    int day;
}date;
void main()
{
    date da;
    da.year = 1995;
    da.month = 8;
    da.day = 9;
    printf("%d--%d--%d\n",da.year,da.month,da.day);
}

#include<stdio.h>
typedef int num[100];//声明um为整型数组类型
void main()
{
  num n = {0};
  printf("%d\n",sizeof(n));
}

#include<stdio.h>
typedef void (*p)();
void fun()
{
    printf("funny\n");
}
void main()
{
    p p1;
    p1 = fun;//函数指针指向函数的入口
    p1();
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1877088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JeecgBoot中如何对敏感信息进行脱敏处理?

数据脱敏即将一些敏感信息通过加密、格式化等方式处理&#xff0c;展示给用户一个新的或是格式化后的信息&#xff0c;避免了敏感信息的暴露。 一、接口脱敏注解 针对接口数据实现脱敏加密&#xff0c;只加密&#xff0c;一般此方案用于数据加密展示。 1.1 注解介绍 注解作用域…

C语言 | Leetcode C语言题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; int countPrimes(int n) {if (n < 2) {return 0;}int isPrime[n];int primes[n], primesSize 0;memset(isPrime, 0, sizeof(isPrime));for (int i 2; i < n; i) {if (!isPrime[i]) {primes[primesSize] i;}for (int j 0; j < …

stm32学习笔记---ADC模数转换器(代码部分)AD单通道/多通道

目录 第一个代码&#xff1a;AD单通道 ADC初始化步骤 ADC相关的库函数 RCC_ADCCLKConfig 三个初始化相关函数 ADC_Cmd ADC_DMACmd ADC_ITConfig 四个校准相关函数 ADC_SoftwareStartConvCmd ADC_GetSoftwareStartConvStatus ADC_GetFlagStatus ADC_RegularChannel…

Flask之电子邮件

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、使用Flask-Mail发送电子邮件 1.1、配置Flask-Mail 1.2、构建邮件数据 1.3、发送邮件 二、使用事务邮件服务SendGrid 2.1、注册SendGr…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的字符串拼接游戏(200分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-21多输入多输出通道

21多输入多输出通道 import torch from d2l import torch as d2ldef corr2d(X, K):"""计算二维互相关运算"""h, w K.shapeY torch.zeros((X.shape[0] - h 1, X.shape[1] - w 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):Y[i,…

【操作系统期末速成】 EP02 | 学习笔记(基于五道口一只鸭)

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、正文&#xff1a;☀️☀️☀️2.1 考点二&#xff1a;操作系统的功能及接口2.2 考点三&#xff1a;操作系统的发展及分类2.3 考点四&#xff1a;操作系统的运行环境&#xff08;重要&#xff09; 一、前言&#x…

私域流量的深度解析与电商应用

一、私域流量的核心价值 在当今数字化时代&#xff0c;流量成为了企业发展的重要资源。与公域流量相比&#xff0c;私域流量以其独有的私有性和可复用性&#xff0c;为企业提供了与用户建立深度联系的机会。私域流量不仅有助于企业精准触达目标用户&#xff0c;还能通过数据分…

小白学webgl合集-WebGL中给图片添加背景

一.实现效果 二.逻辑 为了在WebGL中给图片添加背景&#xff0c;主要的逻辑步骤包括初始化WebGL上下文、编写和编译着色器、创建和绑定缓冲区、加载和配置纹理以及绘制场景。以下是代码逻辑的详细说明&#xff1a; 1. 获取WebGL上下文 首先&#xff0c;通过获取<canvas>…

Qt信号槽的坑

1、重载的信号&#xff08;以QSpinBox为例&#xff09; 像是点击按钮之类的信号槽很好连接&#xff0c;这是因为它的信号没有重载&#xff0c;如果像SpinBox那样有重载信号的话&#xff08;Qt5.12的见下图&#xff0c;不过Qt5.15LTS开始就不再重载而是换信号名了&#xff09;&…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例应用

随着航空、航天、近地空间遥感平台的持续发展&#xff0c;遥感技术近年来取得显著进步。遥感数据的空间、时间、光谱分辨率及数据量均大幅提升&#xff0c;呈现出大数据特征。这为相关研究带来了新机遇&#xff0c;但同时也带来巨大挑战。传统的工作站和服务器已无法满足大区域…

微服务实战系列之云原生

前言 话说博主的微服务实战系列从去年走到今天&#xff0c;已过去了半年多了。本系列&#xff0c;博主主要围绕微服务实践过程中的主要组件或工具展开介绍。其中基本覆盖了我们项目或产品研发过程中&#xff0c;经常使用的中间件或第三方工具。至此&#xff0c;该系列也该朝着…

web刷题记录(7)

[HDCTF 2023]SearchMaster 打开环境&#xff0c;首先的提示信息就是告诉我们&#xff0c;可以用post传参的方式来传入参数data 首先考虑的还是rce&#xff0c;但是这里发现&#xff0c;不管输入那种命令&#xff0c;它都会直接显示在中间的那一小行里面&#xff0c;而实际的命令…

ProPainter – AI视频去水印工具,可以去除视频中的静态水印、动态物体/人物等 本地一键整合包下载

ProPainter是一个基于E2FGVI实现的AI视频编辑工具&#xff0c;它可以一键移除视频内的移动物体和水印。这个开源项目提供了一个简单而强大的解决方案&#xff0c;帮助用户轻松编辑和改善视频内容。 项目地址&#xff1a;https://github.com/sczhou/ProPainter 一键包下载&…

Debug 调试代码

我们使用 debug 的目的, 认为就是查看代码的执行过程的。 步骤&#xff1a; 1. 打断点 断点的意义是, debug 运⾏的时候, 代码会在断点处停下来不执行如果是想要查看代码的执行过程, 建议将断点放在第⼀行在代码 和 行号之间 点击,出现的红色圆点 就是断点, 再次点击可以取消 …

最逼真的简易交通灯设计

最逼真的简易交通灯设计 需要资料的请在文章末尾获取&#xff08;有问题可以私信我哦~~&#xff09; 01 资料内容 Proteus仿真文件程序源码实物制作&#xff0c;代码修改&#xff0c;功能定制&#xff08;需额外收费&#xff0c;价格实惠&#xff0c;欢迎咨询&#xff09; …

【ChatBI】text2sql-不需要访问数据表-超轻量Python库Vanna快速上手,对接oneapi

oneapi 准备 首先确保你有oneapi &#xff0c;然后申请 kimi的api 需要去Moonshot AI - 开放平台 然后添加一个api key 然后打开oneapi的渠道界面&#xff0c;添加kimi。 然后点击 测试&#xff0c; 如果能生成响应时间&#xff0c;就是配置正确。 然后创建令牌 http:…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-46语义分割和数据集

46语义分割和数据集 # 图像分割和实例分割 """ 图像分割将图像划分为若干组成区域&#xff0c;这类问题的方法通常利用图像中像素之间的相关性。 它在训练时不需要有关图像像素的标签信息&#xff0c;在预测时也无法保证分割出的区域具有我们希望得到的语义。 图…

知识库在AI大模型中的使用流程

大模型知识库的使用流程通常包括以下关键步骤&#xff0c;大模型知识库的使用流程需要跨学科的知识和技能&#xff0c;包括自然语言处理、数据库管理、软件工程等。同时&#xff0c;也需要关注用户体验、性能优化、安全保护等方面&#xff0c;以提供高质量的知识服务。北京木奇…

# linux 系统中,使用 “ ll “ 命令报错 “ bash ll command not found “ 解决方法:

linux 系统中&#xff0c;使用 " ll " 命令报错 " bash ll command not found " 解决方法&#xff1a; 一、错误描述&#xff1a; 报错原因&#xff1a; 1、这个错误表明你尝试在 bash shell 中执行 ll 命令&#xff0c;但是系统找不到这个命令。ll 通常…