崩溃了。出不来结果。求高手帮我看看我编的源码。。从键盘随意输入字符存入一维数组,使字母符号数字分别在一起,输出数组。
具体题目的要求是:从键盘随意输入一组字符串存入一维数组中,不得再定义其他数组。调整数组中各元素的位置。是字母,符号,数字分别放在一起,输出调整后的数组。。。我的想法是借鉴冒泡排序。判断字母或者数字。然后将字母升上去。将数字降下来。。。但是编了出来。程序能通过。就是出不了结果。。高手帮帮菜鸟呀。。
编了一晚上。。崩溃呀。。
# include "stdio.h"
#define N 10
void main()
{int a[N],i,j,m,k,q,z,w,x;
L1:printf ("please input number:\n");
for (i=0;i<N;i++) scanf("%c",&a[i]);
for (z=0;z<N-1;z++)
{for (k=0;k<N;k++)
{m=N-k;
if((a[m]>='a'&&a[m]<='z')||(a[m]>='A'&&a[m]<='Z'))
{q=a[m-1];a[m-1]=a[m];a[m]=q;}
}
}
for (w=0;w<N;w++)
{for (x=0;x<N-1;x++)
{if(a[x]>=0&&a[x]<=9)
{q=a[x+1];a[x+1]=a[x];a[x]=q;}
}
}
for (j=0;j<N;j++) printf("%c",a[j]);
goto L1;
}