奇偶排序debugging新手上路,求指导.

http://img.mukewang.com/58432eb40001eb4706210108.jpg

#include<stdio.h>
int main()
{
	int num,i,a,b,j=1,k=1;
	int ar[100],br[100],cr[100];
	int temp1,temp2;
	scanf("%d",&num);//确定数组元素个数 
	for(i=1;i<=num;i++)
	scanf("%d",&ar[i]);//输入数组元素 
	
	for(i=1;i<=num;i++)
	{
		if(ar[i]%2==0)
		{
			br[j]=ar[i];
			j+=1;
		}
		else
		{
			cr[k]=ar[i];
			k+=1;
		}
	}                     //奇偶分别存储在br[]与c[]中 
	for(a=1;a<=j;a++)
	{
		if(br[a]<br[a+1])
		{
			temp1=br[a];
			br[a]=br[a+1];
			br[a+1]=temp1;
		}	
	}
	for(b=1;b<=k;b++)
	{
		if(cr[b]<cr[b+1])
		{
			temp2=cr[b];
			cr[b]=cr[b+1];
			cr[b+1]=temp2;
		}
		
	}                      //分别比较各自元素的大小 
	for(a=1;a<=j;a++)
	printf("%d ",br[a]);
	
	for(b=1;b<=k;b++)
	printf("%d ",cr[b]); //分别打印出奇偶数组 
return 0;
}

我感觉我思路是对的,(这个题目我以前想的是先排序然后确定奇偶性然后分别输出,然后程序运行正确,但是学校系统不认)

然后,就写出了这个bug程序,可是我不知道我错在哪里了,跪求大神debugging。谢谢谢谢

shark霯霯
浏览 1218回答 3
3回答

不明不白0

数组下标从0开始,i j k
打开App,查看更多内容
随时随地看视频慕课网APP