首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

各位帮小弟我看看,有什么东东!

2013-07-04 
各位帮我看看,有什么错误!!!!!!题目是:将一列整数的奇数在前偶数在后并且有序的排列在一个数列中#include

各位帮我看看,有什么错误!!!!!!
题目是:将一列整数的奇数在前偶数在后并且有序的排列在一个数列中
#include<stdio.h>
int main()
{
int n=0,a[100],b[100],c[100],d[100],i,j1=0,j2=0,temp;//a为输入数列,b为最后输出数列,c为奇数列,d为偶数列
printf("请输入一组整数后,在输入0.1:");
for(i=0;;i++)
{
scanf("%d",&a[i]);
if(a[i]==0.1)   break;
n++;
}
for(i=0;i<n;i++)
{
if(a[i]%2!=0)  
{
c[j1]=a[i];
j1++;
}
else
{
d[j2]=a[i];
j2++;
}
}
for(i=0;i<j1;i++)
if(c[i]>c[i+1])  
{
temp=c[i];
c[i]=c[i+1];
c[i+1]=temp;
}
for(i=0;i<j2;i++)
if(d[i]>d[i+1])
{
temp=d[i];
d[i]=d[i+1];
d[i+1]=temp;
}
temp=n;
for(i=0;i<j1;i++)
b[i]=c[i];
for(i=0;i<j2;i++,n--)
b[n]=d[i];
for(i=0;i<temp;i++)
printf("%d",b[i]);
return 0;
}

[解决办法]


#include<stdio.h>
int main()
{
int n=0,a[100],b[100],c[100],d[100],i,j,j1=0,j2=0,temp;//a为输入数列,b为最后输出数列,c为奇数列,d为偶数列
printf("请输入一组整数后,在输入0.1:");
for(i=0;;i++)
{
scanf("%d",&a[i]);
if(a[i]==-999999999)   break;//a是int数组。。怎么能输入0.1。。改为一个别的什么整数作为结束符。。
n++;
}
for(i=0;i<n;i++)
{
if(a[i]%2!=0)  
{
c[j1]=a[i];
j1++;
}
else
{
d[j2]=a[i];
j2++;
}
}
for(i=0;i<j1;i++)//排序写错了。。
{
for(j = 0; j < j1 - i - 1; ++j)


{
if(c[i]>c[i+1])  
{
temp=c[i];
c[i]=c[i+1];
c[i+1]=temp;
}
}
}
for(i=0;i<j2;i++)//排序错了。。
{
for(j = 0; j < j2 - i - 1; ++j)
{
if(d[i]>d[i+1])
{
temp=d[i];
d[i]=d[i+1];
d[i+1]=temp;
}
}
}
temp=n;
--n;//这里n要减一。。否则越界。。
for(i=0;i<j1;i++)
b[i]=c[i];
for(i=0;i<j2;i++,n--)
b[n]=d[i];
for(i=0;i<temp;i++)
printf("%d",b[i]);
return 0;
}


[解决办法]
LZ可以先去百度 冒泡排序法  学习下,然后再来看自己的程序

热点排行