#include
int main()
{
int x[]={1,-2,3,4,-5,6,-7};//初始化
for(int i=0;i<7;i++){
if(x[i]<=0){x[i]=0;} //将小于零的元素改为0
}
/*for(int i=0;i<7;i++){
printf("%d ",x[i]);
} */
for(int i=0;i<7;i++){
if(x[i]>0){printf("%d ",x[i]);} //输出
}
return 0;
}
希望采纳
void f(int *arr)
{
*arr = 1;
*(arr + 1) = 3;
*(arr + 2) = 4;
*(arr + 3) = 6;
*(arr + 4) = 0;
*(arr + 5) = 0;
*(arr + 6) = 0;
}
int main(void)
{
int arr[7] = { 1, -2, 3, 4, -5, 6, 7 };
int* pt = arr;
f(pt);
int i = 0;
for (i = 0; i < 7; i++)
{
if (arr[i] != 0)
printf("%d\n", arr[i]);
}
}
int x[6] ={1,-2,3,4,-5,6,-7}
private int[] f( int a[])
{
for(i=0; i<7;!++)
{
if (a[i] >0)
{
return a[i];
}
else
{
return 0;
}
}
return a[i];
}
函数大致是这个意思,好久不用c了生疏了,自己调用以下就可以了
同学 简单的方法 就是 新建一个同样大小的数组,利用
原数组 int s[5] = {1, -2, 3, 4, -5};
新数组 int k[5] = {0};;
int j = 0;
for (原数组i = 0;i < 5; i++)
{
if (判读元素是否大于0)
{
k[j++] = s[i];
}
}
将原数组大于0的元素 依次存入新数组中,遍历完原数组后;
输出时 输出新数组大于0的元素即可
希望有帮助