我必须写这个程序: 编写一个程序,在链表中按顺序插入0到100之间的25个随机整数。程序应计算元素的总和和元素的浮点平均值。 这是我到目前为止用随机单词填充链表的方法,但它只是重复一个特定的整数。
struct node
{
int data;
struct node* next;
};
node *head;
void randomize()
{
node *newnode;
//srand(time(NULL));
for (int i=0;i<25;i++)
{
srand(time(NULL));
newnode=(node *)malloc(sizeof(node));
srand(time(NULL));
int random=rand()%100;
newnode->data=random;
newnode->next=head;
head=newnode;
}
}
void display()
{
node *record=head;
while(record!=NULL)
{
cout<<(record->data)<<endl;
record=record->next;
}
}
int main()
{
randomize();
display();
getch();
}
`&GT;
struct node
{
int data;
struct node* next;
};
node *head;
void randomize()
{
node *newnode;
newnode=(node *)malloc(sizeof(node));
srand(time(NULL));
for (int i=0;i<25;i++)
{
srand(time(NULL));
int random=rand()%100;
newnode->data=random;
newnode->next=head;
head=newnode;
}
}
void display()
{
node *record=head;
while(record!=NULL)
{
cout<<(record->data);
record=record->next;
}
}
int main()
{
randomize();
display();
getch();
}
答案 0 :(得分:1)
我可以发现3件事:
答案 1 :(得分:0)
重复来自代码的randomize()
方法。
移动线
newnode = (node*) malloc(sizeof(node));
进入for
中的randomize()
循环。通过这种方式,您可以创建一个新节点并将其添加到列表中。
您必须考虑重写randomize()
才能创建有序列表。例如,您应该迭代当前列表,并为具有随机值的新节点找到合适的位置。您也可以附加对于有序链接列表非常容易的附加,而不是前置。您可以在Google的帮助下轻松找到示例(订购的链接列表)。