• Nwafu-OJ-1500 Problem 3 2019阶段1考试 题目4


    问题 : 2019阶段1考试 题目4

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 4600  解决: 898
    [提交][状态][讨论版]

    题目描述

    调整正整型数组使奇数全部都位于偶数前面,注意数组的遍历顺序要求为一方从左端开始向后,另一方从右端开始向前,若前数为偶数且后数为奇数,则进行交换,否则继续遍历。程序主体已经完成(请左键点击这里下载,文件在本地另存为main.c后答题),但其中包含若干错误,请根据题目要求改正程序中的所有错误,使其顺利达成题目功能要求。

    输入

    正整型数组的元素个数sz(sz<4000),然后依次为数组各元素的整型值

    输出

    交换过程,其格式为:Times 交换次数:数1<==>数2,每次交换占一行

    然后输出交换后的数组各元素,元素之间用一个空格分隔,最后一个元素后无空格

    样例输入

    9
    1 2 3 4 5 6 7 8 9

    样例输出

    Times 1: 2<==>9
    Times 2: 4<==>7
    1 9 3 7 5 6 4 8 2

    代码实现

    1. #define _CRT_SECURE_NO_WARNINGS 1
    2. #include
    3. #include
    4. /* 交换指针a和b所指向的两个整数 */
    5. void ex_num(int* a, int* b)
    6. {
    7. *a ^= *b;
    8. *b ^= *a;
    9. *a ^= *b;
    10. }
    11. /* 调整正整型数组a,其中n为数组元素的个数 */
    12. void exchange(int a[], int n)
    13. {
    14. int left, right;
    15. int cnt=1;
    16. left = 0;
    17. right = n-1;
    18. while (left < right)
    19. {
    20. if (!(a[left] & 1) && (a[right] & 1)) {
    21. printf("Times %d: %d<==>%d\n", cnt++, a[left], a[right]);
    22. ex_num(&a[left], &a[right]);
    23. }
    24. left = (a[left] & 1) ? left + 1 : left;
    25. right = !(a[right] & 1) ? right - 1 : right;
    26. }
    27. return;
    28. }
    29. int main()
    30. {
    31. int* arr, sz=0;
    32. scanf("%d", &sz);
    33. arr = (int*)malloc(sz * sizeof(int));
    34. if (arr == NULL) return 0;
    35. int i = 0;
    36. for (i = 0; i < sz; i++) {
    37. scanf("%d", &arr[i]);
    38. }
    39. exchange(arr, sz);
    40. for (i = 0; i < sz-1; i++) {
    41. printf("%d ", arr[i]);
    42. }
    43. printf("%d\n", arr[sz-1]);
    44. free(arr);
    45. return 0;
    46. }

  • 相关阅读:
    Autowired如何实现自动注入?
    OPPO粟俊娥:OPPO研发云持续交付实践之路
    Pytorch CUDA CPP简易教程,在Windows上操作
    GJB 5000B二级-QA质量保证
    cannot find -lmysqlclient 错误解决
    Create demo project with EntityFramework Core
    Docker安装Apollo
    2023,阿里巴巴走向了中年的十字路口
    【前端面试必知】JS面试之数据结构
    抖音店铺提供优质服务|成都瀚网科技
  • 原文地址:https://blog.csdn.net/qq_53436105/article/details/128089538