求一个整数包含的奇数偶数个数c++

#include
using namespace std;
void shu(long long n)//long long型
{
int c=0,d=0;
if(n==0){
d++;
cout<<c<<endl<<d;}
else {while(n!=0){
if(n%10%2!=0) c++;
else d++;
n=n/10;}
cout<<c<<endl;
cout<<d<<endl;
}
}
int main()
{long long n;
cin>>n;
shu(n);
return 0;
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是单链表的实现代码: ```c++ #include <iostream> using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; ListNode* oddEvenList(ListNode* head) { if (!head) return NULL; ListNode *odd = head, *even = head->next, *evenHead = even; while (even && even->next) { odd->next = even->next; odd = odd->next; even->next = odd->next; even = even->next; } odd->next = evenHead; return head; } void printList(ListNode* head) { ListNode* curr = head; while (curr) { cout << curr->val << " "; curr = curr->next; } cout << endl; } int main() { // create a linked list ListNode *head = new ListNode(1); head->next = new ListNode(2); head->next->next = new ListNode(3); head->next->next->next = new ListNode(4); head->next->next->next->next = new ListNode(5); // print the original list cout << "Original list: "; printList(head); // rearrange the list head = oddEvenList(head); // print the rearranged list cout << "Rearranged list: "; printList(head); return 0; } ``` 首先,我们定义一个 `ListNode` 结构体,包含一个整数值和一个指向下一个节点的指针。 然后,我们定义一个 `oddEvenList` 函,它接受一个单链表的头节点作为参,并且将链表中的奇数节点放在前面,偶数节点放在后面。我们用两个指针 `odd` 和 `even` 分别指向链表的第一个和第二个节点,用 `evenHead` 记录下第二个节点,以便最后将链表连接起来。我们用 `while` 循环遍历链表,每次将 `odd` 指针指向下一个奇数节点,将 `even` 指针指向下一个偶数节点,然后将它们分别连接起来。最后,我们将最后一个奇数节点的 `next` 指向第二个节点,将整个链表连接起来。最后,我们返回头节点。 最后,我们定义一个 `printList` 函,用于打印单链表的所有节点。在主函中,我们创建一个单链表并将其传递给 `oddEvenList` 函,然后打印出原始链表和重新排列后的链表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

20岁扶墙码农

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值