参考代码:
#include<stdio.h>
int A(int *, int);
int main(void)
{
int n, a[1000],m;
scanf("%d", &n);
for (int i = 0; i < n; i++) //输入初始数组
{
scanf("%d", &a[i]);
}
m = A(a, n); //m为删除0后的元素个数
for (int i = 0; i < m; i++) //输出处理后的a[i]
printf("%d ", a[i]);
printf("\n%d", m); //为满足输出格式
return 0;
}
int A(int *a, int n)
{
int b[1000], i, j=0;
for (i = 0; i < n; i++) //先将a[]拷贝到b[],再将不等于零的值赋给b[]
{
b[i] = a[i];
}
for (i = 0; i < n; i++)
{
if (b[i] == 0)
continue;
else
{
a[j] = b[i];
j++;
}
}
return j;
}
0.0分
0 人评分
Wu-求圆的面积 (C++代码)浏览:1887 |
打印十字图 (C语言代码)浏览:2705 |
Minesweeper (C语言描述,蓝桥杯)浏览:1125 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:555 |
前10名 (C语言代码)浏览:727 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:565 |
1073题解浏览:622 |
半数集问题 (C语言代码)浏览:921 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:303 |