c语言统计单链表中偶数位序的元素和并输出元素值。
时间: 2024-05-02 12:21:23 浏览: 18
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表结构体
typedef struct Node {
int data;
struct Node *next;
} Node;
// 创建链表
Node* createLinkedList(int n) {
Node *head = NULL, *tail = NULL;
for (int i = 1; i <= n; i++) {
Node *node = (Node*)malloc(sizeof(Node));
node->data = i;
node->next = NULL;
if (i == 1) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
return head;
}
// 统计偶数位序的元素和并输出元素值
void sumEvenNodes(Node *head) {
int sum = 0;
int count = 1;
Node *p = head;
while (p) {
if (count % 2 == 0) {
sum += p->data;
printf("%d ", p->data);
}
count++;
p = p->next;
}
printf("\nThe sum of even nodes is %d\n", sum);
}
int main() {
int n = 10;
Node *head = createLinkedList(n);
sumEvenNodes(head);
return 0;
}
```
首先定义了一个链表结构体,包含元素值和指向下一个节点的指针。然后定义了创建链表的函数 `createLinkedList`,它会创建一个包含 `n` 个节点的链表,并返回链表头节点的指针。
接着是统计偶数位序的元素和并输出元素值的函数 `sumEvenNodes`。它使用了一个计数器 `count` 来判断当前节点的序号,如果是偶数位序,就累加元素值到变量 `sum` 中,并输出元素值。最后输出偶数位序的元素和。
在主函数中,我们创建了一个包含 10 个节点的链表,并调用 `sumEvenNodes` 函数来统计偶数位序的元素和并输出元素值。
运行程序,输出如下:
```
2 4 6 8 10
The sum of even nodes is 30
```
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)