#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> //#include<string.h> //int main() //{ // if (strlen("abc") - strlen("abcdef") >= 0) // printf(">"); // else // printf("<"); // return 0; //} void move_off(int arr[], int sz) { int left = 0; int right = sz-1; //左侧找到偶数项 while (left < right) { while((left<right)&&(arr[left] % 2 == 1)) { left++; } while ((left<right)&&(arr[right] % 2 == 0)) { right--; } if (left < right) { int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; } } } int main() { int arr[10] = { 0 }; int i = 0; int sz = sizeof(arr) / sizeof(arr[0]); //传数 for (i = 0; i < sz; i++) { scanf("%d", &arr[i]); } //处理项 move_off(arr,sz); //输出项 for (i = 0; i < sz; i++) { printf("%d", arr[i]); } return 0; }
这个交换中一个特殊情况就是,如果输入的数都是奇数或者偶数的情况下,哪么要考虑栈溢出问题,所以while循环中还要&&上(left<right)文章来源地址https://www.toymoban.com/news/detail-576304.html
文章来源:https://www.toymoban.com/news/detail-576304.html
到了这里,关于数字交换奇数在前,偶数在后采用C语言形式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!