7.将0移至末尾

来源:互联网 发布:品质365 知乎 编辑:程序博客网 时间:2024/06/05 09:25

7.有一个数组int A[nSize],要求写一个函数:
void myfunc (int p[], int nSize);
将A中的0都移至数组末尾,将非0的移至开始(保持原来的顺序不变)。
例如:A原来是:1, 0, 3, 4, 0, -3, 5
经过myfunc处理后为:1, 3, 4, -3, 5, 0, 0

#include <stdio.h>void myfunc(int p[],int nsize){    int i,j,t;    for(i=0;i<nsize-1;i++)        for(j=i+1;j<nsize;j++)        {            if(p[i]==0&&p[j]!=0)            {t=p[i];p[i]=p[j];p[j]=t;}        }}int main(){    int st[10]={12,0,0,54,0,0,0,23,24,68},i;    myfunc(st,10);    for(i=0;i<10;i++)        printf("%d\n",st[i]);    return 0;}
原创粉丝点击