在VC6.0环境下用C语言编程

2025-03-01 11:54:39
推荐回答(2个)
回答1:

#include

#define MAX 10
typedef struct
{
int a[MAX];
int len;
}Seq;

Seq Insert(Seq s,int n)//插入
{
int i;
for(i=0;i scanf("%d",&s.a[i]);
s.len=n;
return s;
}

Seq Rerver(Seq s)//逆置
{
int i,j,t;
for(i=0,j=s.len-1;i {
t=s.a[i];
s.a[i]=s.a[j];
s.a[j]=t;
}
return s;
}

void Print(Seq s)//打印
{
int i;
for(i=0;i printf("%d ",s.a[i]);
printf("\n");
}

int main()
{
Seq s;
int n;

s.len=0;
printf("输入元素个数:");
scanf("%d",&n);

if(n<1)
{ printf("输入大于1的正数\n");return 1;}
if(n>=MAX)
{ printf("输入个数超过定义长度:%d\n",MAX);return 1;}

printf("输入数值:");
s=Insert(s,n);
printf("逆置前数据:\n");
Print(s);

s=Rerver(s);
printf("逆置后数据:\n");
Print(s);
return 0;

}

回答2:

#include
#include
struct biao
{ int num;
struct biao *next;
};
void main()
{ int len=1,i;
struct biao *p1,*p2,*head,*nw,*nwhead;
p1=p2=head=(struct biao *)malloc(sizeof(struct biao));
printf("input number(0:list end):");
scanf("%d",&p1->num);
while(p1->num!=0)
{ p1=(struct biao *)malloc(sizeof(struct biao));
printf("input number(%d:list end):",len);
scanf("%d",&p1->num);
if(p1->num==0)
p2->next=NULL;
else
{ p2->next=p1;
p2=p1;
len++;
}
}
p1=head;
printf("\noringinal list:\n");
do
{ printf("%4d",p1->num);
if(p1->next!=NULL)
p1=p1->next;
} while(p1->next!=NULL);
printf("%4d",p1->num);

for(i=0;i{p2=p1=head;
while(p1->next!=NULL)
{ p2=p1;
p1=p1->next;
}
if(i==0)
nwhead=nw=p1;
else
nw=nw->next=p1;
p2->next=NULL;
}
printf("\n\nnew list:\n");
p1=nwhead;
for(i=0;i{ printf("%4d",p1->num);
p1=p1->next;
}
printf("\n");
}