编程疑问
编写程序,把给定长度为10的整数数组中所有0元素全部移到后面,且所有非0元素的顺序不变。输入:从键盘随机输入十个整数,作为数组a的元素。
输出:已将所有0元素串到后面的整数数组a的所有元素,各元素间无间隔字符。
#include <stdio.h> int main( void ) { int a[] = { 1, 0, 2, 3, 4, 5, 0, 0, 6, 0 }; for( size_t r=0, w=0; w!=10; ++r ) { if( r >= 10 ) a[w++] = 0; else if( a[r] != 0 ) a[w++] = a[r]; } for( size_t i=0; i!=10; ++i ) printf( "%d", a[i] ); }