求高手帮忙写个c语言小程序
用单链表输入一组数据-1作为结束标志,将单链表中的数据赋给一个一维数组,输出数据为a[i]=a[i]+i;...
用单链表输入一组数据 -1作为结束标志,将单链表中的数据赋给一个一维数组,输出数据为a[i]=a[i]+i;
展开
2个回答
展开全部
#include "stdio.h"
#include <stdlib.h>
#define max 100
typedef struct node
{ int a;
struct node *next;
}linknode;
linknode *s,*p;
void display(int x,int *y)
{int j;
for(j=0;j<x;j++)
printf("%d ",y[j]+i);
}
void main()
{linknode *q;
int i=0,k,x[max];
s=q=(linknode *)malloc(sizeof(linknode));
s->next=NULL;
printf("请输入数据:\n");
do{
scanf("%d",&k);
if(k!=-1){
p=(linknode *)malloc(sizeof(linknode));
p->a=k;
p->next=q->next;
q->next=p;
q=q->next;
}}while(k!=-1);
s=s->next;
while(s)
{x[i]=s->a;
s=s->next;
i++;
}
display(i,x);
}
已运行 没错误
#include <stdlib.h>
#define max 100
typedef struct node
{ int a;
struct node *next;
}linknode;
linknode *s,*p;
void display(int x,int *y)
{int j;
for(j=0;j<x;j++)
printf("%d ",y[j]+i);
}
void main()
{linknode *q;
int i=0,k,x[max];
s=q=(linknode *)malloc(sizeof(linknode));
s->next=NULL;
printf("请输入数据:\n");
do{
scanf("%d",&k);
if(k!=-1){
p=(linknode *)malloc(sizeof(linknode));
p->a=k;
p->next=q->next;
q->next=p;
q=q->next;
}}while(k!=-1);
s=s->next;
while(s)
{x[i]=s->a;
s=s->next;
i++;
}
display(i,x);
}
已运行 没错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询