参考代码:
#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 人评分
简单的a+b (C语言代码)浏览:827 |
【亲和数】 (C语言代码)浏览:530 |
printf基础练习2 (C语言代码)浏览:826 |
C语言训练-求PI* (C语言代码)浏览:638 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1292 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:818 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:943 |
水仙花 (C语言代码)浏览:1163 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:586 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1288 |