3 回答
东风冷雪
TA贡献33条经验 获得超7个赞
//思路是这样,只给出偶数,奇数变一下就行了。
#include <stdio.h>
#include "stdlib.h"
const int N=10;
void display(int arr[],int n);
int main() {
int arr[N];
int i,*p;
p=arr;
/*
printf("请输入任意10个整数");
for(i=0; i<N; i++)
scanf("%d",p+i);
*/
for(i=1; i<11; i++)
arr[i-1]=i;
display(arr,10);
printf("\n");
int count1=0;
p=arr;
for( i=0; i<N; i++)
{
if(*(p+i)%2==0)
count1++;
}
printf("count1=%d\n",count1);
int *arr1,num1,j;
arr1=(int *)malloc(sizeof(int)*count1);
p=arr;
num1=0;
for( j=0; j<N; j++)
{
if(*(p+j)%2==0)
{
arr1[num1]=arr[j];
num1++;
}
}
display(arr1,count1);
return 0;
}
void display(int arr[], int n)
{
int i;
for(i=0; i<n; i++)
printf("%3d",arr[i]);
}结果:
/home/dfzxk/CLionProjects/untitled1/cmake-build-debug/untitled1
1 2 3 4 5 6 7 8 9 10
count1=5
2 4 6 8 10
Process finished with exit code 0
// 我的idea全家桶 还不错。。
阿克蒙德
TA贡献1条经验 获得超0个赞
#include <stdio.h>
#include <stdlib.h>
int main()
{
int Array[10] ;
int * p = Array;
printf("请输入任意10个整数");
for (int i = 0; i< 10 ;i++)
{
scanf("%d",p+i);
}
printf("偶数为:\n");
for (int i = 0; i< 10 ;i++)
{
if( *(p+i)%2 ==0 )
{
printf("%d ",*(p+i));
}
}
printf("\n");
printf("奇数为:\n");
for (int i = 0; i< 10 ;i++)
{
if( *(p+i)%2 !=0 )
{
printf("%d ",*(p+i));
}
}
system("pause");
return 0;
}- 3 回答
- 0 关注
- 1896 浏览
添加回答
举报
0/150
提交
取消
