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 关注
- 1800 浏览
添加回答
举报
0/150
提交
取消