帮我看看这个程序问题,万分感谢
发布网友
发布时间:2022-05-23 01:22
我来回答
共2个回答
热心网友
时间:2023-10-09 16:19
正在帮你改 但是你这个程序
真的是 太terrible了
终于改好了~~呼呼
如果满意的话请给分吧~嘿嘿
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{ char data;
struct node *next;
} linklist;
linklist * creat_link();
void find_link( linklist *head );
void delete_link( linklist *head );
void main()
{
linklist * head = creat_link();
find_link( head );
delete_link( head );
}
linklist * creat_link()
{
linklist *p,*head,*rear;
char *a=(char*)malloc( 20*sizeof(char) );
printf("请输入字符,以#字键结束!");
scanf("%s",a);
head = ( linklist* )malloc( sizeof( linklist ) );
rear = ( linklist* )malloc( sizeof( linklist ) );
for ( char *i=a; *i!='#'; i++ )
{
p=(linklist*)malloc(sizeof(linklist));
p->data = *i;
p->next = NULL;
if ( i==a )
{
head->next = p;
rear->next = p;
continue;
}
rear->next->next = p;
rear->next = p;
}
for ( p=head->next; p; p=p->next )
{
printf("%c",p->data);
}
return head;
}
void find_link( linklist *head )
{
int i=0;
int x=0;
linklist *p=head->next;
printf( "请输入查找的链表索引:" );
scanf("%d", &x);
while ( p&&i<x )
{
p=p->next;
i++;
}
if ( i==x&&p )
{
printf("the found data is %c\n",p->data);
}
else
{
printf("sorry,we cannot find the index!\n");
}
}
void delete_link( linklist *head )
{
int i=0;
int x=0;
linklist *p=head->next;
printf( "请输入要删除的链表索引:" );
scanf("%d", &x);
while ( p&&i<x-1 )
{
p=p->next;
i++;
}
if ( i==(x-1)&&p )
{
printf("the deleted data is %c\n",p->next->data);
p->next = p->next->next;
for ( p=head->next; p; p=p->next )
{
printf("%c",p->data);
}
}
else
{
printf("sorry,we cannot find the index!\n");
}
}
热心网友
时间:2023-10-09 16:19
函数里,还全是for循环,自己看起来都累吧,而且没有注释。。。。。。。
我只看见58行中x[n-1]=y[n-1]/u[n-1][n-1] 其中u你声明的是一位数组吧。。。