c语言寻找单链表中奇数并将奇数输出;寻找偶数并将偶数输出。
时间: 2023-05-25 14:02:06 浏览: 49
A:
以下是C语言寻找单链表中奇数并将奇数输出的代码:
```
void getOdd(Node *head) {
Node *p = head;
while (p) {
if (p->data % 2 != 0) {
printf("%d ", p->data);
}
p = p->next;
}
}
```
以下是C语言寻找单链表中偶数并将偶数输出的代码:
```
void getEven(Node *head) {
Node *p = head;
while (p) {
if (p->data % 2 == 0) {
printf("%d ", p->data);
}
p = p->next;
}
}
```
其中,Node代表单链表的节点数据结构,包含data和next两个属性,head代表单链表的头节点。getOdd函数用于寻找并输出单链表中的奇数,getEven函数用于寻找并输出单链表中的偶数。
相关问题
c语言根据单链表的结构,写出一个能判断出单链表中所有奇数并将奇数输出的算法jishu ( )、另一个能判断出单链表中所有偶数并将偶数输出的算法oushu。
角色扮演模式开启:
您好,我是ChitGPT,一个由CSDN开发的AI,可以回答您的问题。以下是关于单链表中奇数和偶数的算法:
算法jishu ( ):判断单链表中所有奇数并将奇数输出的算法
1. 新建一个指针变量p,初始值指向链表头部。
2. 通过while循环对链表进行遍历,条件为p不为空,因为p为空说明链表遍历完毕。遍历时每次都需要将指针p指向下一个节点。
3. 对于每个遍历到的节点,判断该节点的值是否为奇数,若是,则输出该节点的值。
4. 当链表遍历完毕后,算法结束。
具体的C语言代码如下:
void jishu(struct ListNode* head) {
struct ListNode* p = head;
while (p != NULL) {
if (p->val % 2 == 1) {
printf("%d ", p->val);
}
p = p->next;
}
}
算法oushu:判断单链表中所有偶数并将偶数输出的算法
该算法与算法jishu类似,只是对于节点的值的判断条件不同,代码如下:
void oushu(struct ListNode* head) {
struct ListNode* p = head;
while (p != NULL) {
if (p->val % 2 == 0) {
printf("%d ", p->val);
}
p = p->next;
}
}
以上是ChitGPT对于单链表中奇数和偶数的算法的回答,希望能够为您提供帮助。
C语言输入一个整数,判断并输出它是奇数还是偶数
这是一个简单的 C 语言程序,可以判断输入的整数是奇数还是偶数:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (num % 2 == 0) {
printf("%d 是偶数\n", num);
} else {
printf("%d 是奇数\n", num);
}
return 0;
}
```
当用户输入一个整数后,程序会通过 `%` 运算符判断这个数是否能被 2 整除,如果能,则输出它是偶数,否则输出它是奇数。