《C语言及程序设计》程序阅读——链表初步

简介: 返回:贺老师课程教学链接(1)程序下面的阅读,写出其输出结果(建议画出内存中存储的数据,使链表直观地表示出来 )#include <stdio.h>#include <stdlib.h>struct NODE{ int num; struct NODE *next;};int main(){ struct N

返回:贺老师课程教学链接

(1)程序下面的阅读,写出其输出结果(建议画出内存中存储的数据,使链表直观地表示出来 )

#include <stdio.h>
#include <stdlib.h>
struct NODE
{
    int num;
    struct NODE *next;
};
int main()
{
    struct NODE *p,*q,*r;
    p=(struct NODE*)malloc(sizeof(struct NODE));
    q=(struct NODE*)malloc(sizeof(struct NODE));
    r=(struct NODE*)malloc(sizeof(struct NODE));
    p->num=10;
    q->num=20;
    r->num=30;
    p->next=q;
    q->next=r;
    printf("%d\n",p->num+q->next->num);
    return 0;
}

(2)程序下面的阅读,写出其输出结果(建议画出内存中存储的数据,使链表直观地表示出来 )

#include <stdio.h>
#include <stdlib.h>
int main()
{
    struct node
    {
        int x;
        struct node *next;
    } *p1,*p2=NULL;
    int a[7]= {16,9,-5,28,1,0,-3},i,s=0;
    for(i=0; i<7; i++)
        s+=a[i];
    s/=7;
    for(i=0; i<7; i++)
    {
        if(a[i]>s)
        {
            p1=(struct node*) malloc(sizeof(struct node));
            p1->x=a[i];
            p1->next=p2;
            p2=p1;
        }
    }
    while(p2!=NULL)
    {
        printf("%d\n",p2->x);
        p2=p2->next;
    }
    return 0;
}

(3)运行下面的程序,输入games videos music shopping eating,输出是什么?

#include <stdio.h>
#include <malloc.h>
#define N 5
typedef struct node
{
    char str[20];
    struct node *link;
} stud;

int main()
{
    int number;
    stud *head=NULL;
    number=N;
    stud *p,*s;
    int i;
    head=(stud *)malloc(sizeof(stud));
    head->str[0]='\0';
    head->link=NULL;
    p=head;
    for(i=0; i<number; i++)
    {
        s= (stud *) malloc(sizeof(stud));
        p->link=s;
        scanf("%s",s->str);
        s->link=NULL;
        p=s;

    }
    p=head->link;
    i=1;
    while(p!=NULL)
    {
        printf("%d: %s\n", i++, p->str);
        p=p->link;
    }
    return 0;
}
目录
相关文章
|
2天前
|
C语言
第一章 C语言知识点(程序)
第一章 C语言知识点(程序)
13 0
|
1天前
|
存储 自然语言处理 编译器
“ Hello world ”中的秘密之【C语言程序编译和链接】
作为C语言最经典的代码,大家都可以轻易写出。但是代码的运行过程却很少有人清楚,接下来我将介绍代码运行的奥秘。
12 0
|
3天前
|
自然语言处理 编译器 C语言
C语言程序编译和链接
在ANSI C的任何⼀种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令)。 第2种是执⾏环境,它⽤于实际执⾏代码。
|
6天前
|
网络协议 物联网 数据处理
【C 言专栏】C 语言实现网络通信程序
【5月更文挑战第4天】本文探讨了使用C语言实现网络通信程序的方法,包括理解网络通信基本概念如协议和套接字,以及TCP/UDP通信的实现步骤。通过创建套接字、绑定端口、监听连接、数据传输和错误处理等关键环节,阐述了C语言在网络通信中的优势。文中还提到了实际应用案例、程序优化策略及未来发展趋势,旨在帮助读者掌握C语言在网络通信领域的应用技巧。
【C 言专栏】C 语言实现网络通信程序
|
8天前
|
并行计算 算法 测试技术
【C 言专栏】优化 C 语言程序性能的策略
【5月更文挑战第2天】本文探讨了优化C语言程序性能的策略,包括算法优化(选择合适的时间和空间复杂度)、代码结构优化(减少函数调用,合理使用循环)、内存管理优化(合理分配和及时释放内存)、编译器优化(选择优化级别,内联函数,循环展开)、数据结构优化(根据需求选择数组、哈希表或堆)、并行计算优化(多线程、多进程和MPI编程)以及性能测试与分析(使用性能分析工具、基准测试和分析执行路径)。通过这些方法,可以提升C语言程序的效率和运行速度。
|
9天前
|
存储 Linux C语言
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)-2
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)
|
9天前
|
自然语言处理 Linux 编译器
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)-1
C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)
|
11天前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
|
11天前
|
C语言
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
|
11天前
|
C语言
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)