大佬们求两道c语言编程题!!!

第一题:根据下面的结构定义,创建一个有5个结点的单链表,并输出该链表。typedefstructnode{intdata;structnode*next;}NODE;第二... 第一题:根据下面的结构定义,创建一个有5个结点的单链表,并输出该链表。
typedef struct node
{int data;
struct node *next;
}NODE;

第二题:编写程序,将题目一中建立的单链表的数据域的值进行累加,并输出累加和。
展开
 我来答
White_MouseYBZ
2018-05-30 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6485万
展开全部

一、

#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;
}

运行结果:

百度网友75aad32
2018-05-30 · 超过19用户采纳过TA的回答
知道答主
回答量:38
采纳率:75%
帮助的人:12.6万
展开全部
#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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式