我已尝试创建上述程序,但有一些错误。这是我的程序
#include <stdio.h>
#include <conio.h>
void main()
{
int a[20],o[20],e[20],c[40],i,j,k,l,n;
printf("enter size of array");
scanf("%d",&n);
printf("enter array");
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
for(k=1;k<=(n-j);k++)
{
if(a[i]%2==0)
{
o[j]=a[i];
break;
}
else
{
e[k]=a[i];
}
}
}
}
for(i=1;i<=j;i++)
{
c[l]=o[i];
}
for(i=1;i<=k;i++)
{
c[l+k]=e[k];
}
printf("The new array is");
for(l=1;l<=(j+k);l++)
{
printf(" %d ",c[l]);
}
getch();
}
有人可以帮我纠正上述程序中的错误吗?有人也可以给我一些关于如何成为优秀C程序员的技巧吗?
答案 0 :(得分:0)
问题可能是因为您从未初始化变量run
。
使用未初始化的变量会产生未定义的行为(google that)。
此外,您的数组索引从1开始,例如:
test.wav
在C数组索引中从0开始,所以你应该写这个:
l
这适用于所有其他for (i = 1; i <= n; i++)
循环。
for (i = 0; i < n; i++)
而不是for
和odd
而不是o
等变量名称可以让您的程序更容易阅读。