c语言:建立简单的静态链表,它由3个学生数据的结点组成,要求输出各结点的数据
2016-05-29 13:41
453 查看
建立简单的静态链表,它由3个学生数据的结点组成,要求输出各结点的数据。
解:将第1个结点的起始地址赋给头指针head,将第2个结点的起始地址赋给第1个结点的next成员,将第3个结点的起始地址赋给第2个结点的next成员。第3个结点的next成员赋予NULL,这就形成了链表。为了建立链表,使head指向a结点,a.next指向b结点,b.next指向c结点,c.next=NULL的作用是使c.next不指向任何有用的存储单元。
程序:
#include<stdio.h>
struct Student
{
int num;
float score;
struct Student *next;
};
int main()
{
struct Student a, b, c, *head, *p;
a.num = 10101; a.score = 89.5;
b.num = 10103; b.score = 90;
c.num = 10107; c.score = 85;
head = &a;
a.next = &b;
b.next = &c;
c.next = NULL;
p = head;
do
{
printf("num=%ld score=%5.1f\n", p->num, p->score);
p = p->next;
} while (p != NULL);
return 0;
}
结果:
num=10101 score= 89.5
num=10103 score= 90.0
num=10107 score= 85.0
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1750274
解:将第1个结点的起始地址赋给头指针head,将第2个结点的起始地址赋给第1个结点的next成员,将第3个结点的起始地址赋给第2个结点的next成员。第3个结点的next成员赋予NULL,这就形成了链表。为了建立链表,使head指向a结点,a.next指向b结点,b.next指向c结点,c.next=NULL的作用是使c.next不指向任何有用的存储单元。
程序:
#include<stdio.h>
struct Student
{
int num;
float score;
struct Student *next;
};
int main()
{
struct Student a, b, c, *head, *p;
a.num = 10101; a.score = 89.5;
b.num = 10103; b.score = 90;
c.num = 10107; c.score = 85;
head = &a;
a.next = &b;
b.next = &c;
c.next = NULL;
p = head;
do
{
printf("num=%ld score=%5.1f\n", p->num, p->score);
p = p->next;
} while (p != NULL);
return 0;
}
结果:
num=10101 score= 89.5
num=10103 score= 90.0
num=10107 score= 85.0
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1750274
相关文章推荐
- c语言:写一个函数建立一个有3名学生数据的单向动态链表
- c语言:编写一个输出链表的函数print
- c语言:通过指针变量访问整型变量
- c语言:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
- c语言:用8个2*1的小矩形横着或竖着无重叠地覆盖一个2*8的大矩形,总共有多少种方法?
- c语言:输入两个正整数m和n,求其最大公约数和最小公倍数
- c语言:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
- c语言:∑k(k取[1,100])+∑k^2(k取[1,50])+∑1/k(k取[1,10])的和
- c语言:编程找出1000之内的所有完数。
- c语言:两个乒乓球队进行比赛,各出3人,A说他不和x比,C说他不和x,z比。找出3对赛手的名单
- c语言:用迭代法求x=a^0.5,迭代公式为x1 = (x0 + a / x0) / 2;前后两次求出的x的差的绝对值小于10^-5
- c语言:用牛顿迭代法求方程在1.5附近的根:2x^3-4x^2+3x-6=0.
- c语言:用二分法求方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0.
- c语言:把只含因子2、3和5的数称为丑数,求按从小到大的顺序的第1500个丑数(两种方法比较)
- c语言:对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。
- c语言:用数组来处理求Fibonacci数列问题
- c语言:有10个地区的面积,要求它们按从小到大的顺序排列。(起泡法的应用)
- c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。
- c语言:3*4的矩阵,编程序求出其中最大的那个元素的值,以及其所在的行号和列号。(打擂台算法)
- c语言:输出一个菱形图