一个数组里面存储了一些数字,其中有0元素和非0元素,要求经过处理,
数组前面存储的是非0元素,后面是0元素,且非0元素保持原有顺序。然后输出。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
void text4(char *inputStr, int inputLen, char *outputStr)
{
int count = 0;
int i = 0;
int j = 0;
int len = 0;
if (inputStr == NULL || outputStr == NULL || inputLen <=0 )
{
outputStr = NULL;
return;
}
len = strlen(inputStr);
if (len > inputLen || len <= 0)
{
outputStr = NULL;
return;
}
for (i =0;i<inputLen ;i++ )
{
if (*(inputStr+i) == '0')
{
count++;
continue;
}
//非0字符
*(outputStr+j) = *(inputStr + i);
j++;
}
while (count > 0 )
{
*(outputStr + j) = '0';
j++;
count--;
}
*(outputStr+j) = '\0';
}
int main()
{
int len = 0;
char str[100] = {'0'};
char out[100] = {'0'};
printf("please enter a string:\n");
scanf("%s", str);
len = strlen(str);
text4(str,len,out);
printf("result is :%s\n",out);
return 0;
}