大佬们求两道c语言编程题!!!
第一题:根据下面的结构定义,创建一个有5个结点的单链表,并输出该链表。typedefstructnode{intdata;structnode*next;}NODE;第二...
第一题:根据下面的结构定义,创建一个有5个结点的单链表,并输出该链表。
typedef struct node
{int data;
struct node *next;
}NODE;
第二题:编写程序,将题目一中建立的单链表的数据域的值进行累加,并输出累加和。 展开
typedef struct node
{int data;
struct node *next;
}NODE;
第二题:编写程序,将题目一中建立的单链表的数据域的值进行累加,并输出累加和。 展开
展开全部
一、
#include "stdio.h"
typedef struct node{
int data;
struct node *next;
}NODE;
int main(int argc,char *argv[]){
NODE s[5]={{1,s+1},{2,s+2},{3,s+3},{4,s+4},{5,NULL}},*p;
for(p=s;p;p=p->next)
printf("%d ",p->data);
printf("\n");
return 0;
}
运行结果:
(题目没有硬性要求,只有5个结点的链表本人觉得没有必要用malloc创建结点那样写)
(2)
#include "stdio.h"
typedef struct node{
int data;
struct node *next;
}NODE;
int main(int argc,char *argv[]){
NODE s[5]={{1,s+1},{2,s+2},{3,s+3},{4,s+4},{5,NULL}},*p;
int sum;
for(sum=0,p=s;p;sum+=p->data,p=p->next);
printf("The result is %d\n",sum);
return 0;
}
运行结果:
展开全部
#include "stdio.h"
#include "malloc.h"
typedef struct node
{ int data;
struct node *next;
}NODE;
void main()
{
struct node *head,*s,*p;
int i,sum=0;//循环变量,数据之和
head=(struct node *)malloc(sizeof(struct node));
head->next=NULL;
s=head;
for(i=1;i<=5;i++)
{
p=(struct node *)malloc(sizeof(struct node));
printf("请输入第%d个数:",i);
scanf("%d",&p->data);
sum+=p->data;
p->next=NULL;
s->data=p->data;
s->next=p;
s=p;
}
p=head;
for(i=1;i<=5;i++)
{
printf("%d\n",p->data);
p=p->next;
}
printf("数据累加和为:%d",sum);
}
#include "malloc.h"
typedef struct node
{ int data;
struct node *next;
}NODE;
void main()
{
struct node *head,*s,*p;
int i,sum=0;//循环变量,数据之和
head=(struct node *)malloc(sizeof(struct node));
head->next=NULL;
s=head;
for(i=1;i<=5;i++)
{
p=(struct node *)malloc(sizeof(struct node));
printf("请输入第%d个数:",i);
scanf("%d",&p->data);
sum+=p->data;
p->next=NULL;
s->data=p->data;
s->next=p;
s=p;
}
p=head;
for(i=1;i<=5;i++)
{
printf("%d\n",p->data);
p=p->next;
}
printf("数据累加和为:%d",sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询