(问题)关于奇偶排序数据丢失
我是这样写的
#include<stdio.h>int main(){ int n, i, c, m=0; printf("How math nums will you input?\n"); scanf("%d", &n); /**********定义输入数组长度**********/ int a[n]; /**********自定义数组长度*********/ for(i=0; i<n; i++) /**由(i=0,i<n)开始,由scnaf中的空格结束一次循环**/ scanf("%d",&a[i]); for(i=0;i<n;i++) /*************实现n次循环*************/ { { for(i=0;i<n-m;i++) /***********循环中做n-1次比较,得到最大值************/ { if(a[i]>a[i+1]) c=a[i]; a[i]=a[i+1]; a[i+1]=c; } } m=m+1; } printf("\nThe even num(s) is:\n "); for(i=0;i<n;i++) { if(a[i]%2==0) /**********偶数的条件**********/ printf("%d ",a[i]); } printf("\n**************\nThe odd num(s) is:\n "); for(i=0;i<n;i++) { if(a[i]%2!=0) /**********奇数的条件**********/ printf("%d ",a[i]); } printf("\n ");}for(i=0;i<n;i++) /*************实现n次循环*************/ { { for(i=0;i<n-m;i++) /***********循环中做n-1次比较,得到最大值************/ { if(a[i]>a[i+1]) c=a[i]; a[i]=a[i+1]; a[i+1]=c; } } m=m+1; }
[解决办法]
逻辑上不清楚,两层循环不知道循环的次数。因为你使用的同一个循环变量。
[解决办法]
第二个for循环有问题吧