使用指標查詢使用者輸入陣列型別的C程式。


問題

編寫一個C程式,使用指標檢查給定陣列中的元素是偶數、奇數還是兩者兼有。

解決方案

使用者需要輸入一個整數陣列,然後顯示陣列的型別。

示例1 − 輸入:5 3 1,輸出:奇數陣列

示例2 − 輸入:2 4 6 8,輸出:偶數陣列

示例3 − 輸入:1 2 3 4 5,輸出:混合陣列

演算法

參考以下演算法,使用指標查詢使用者輸入的陣列型別。

步驟1:執行時讀取陣列大小。

步驟2:輸入陣列元素。

步驟3:宣告指標變數。

步驟3:使用指標變數檢查陣列的所有元素是否都是奇數。

然後,列印“奇數”。

步驟4:使用指標變數檢查陣列的所有元素是否都是偶數。

然後,列印“偶數”。

步驟5:否則,列印“混合”。

示例

以下是使用指標查詢使用者輸入陣列型別的C程式:

 線上演示

#include<stdio.h>
#include<stdlib.h>
int*createArray (int);
void readArray(int,int *);
int findType(int , int *);
int main(){
   int *a,n,c=0,d=0;
   printf("Enter the size of array
");    scanf("%d",&n);    printf("Enter the elements of array
");    createArray(n);    readArray(n,a);    findType(n,a);    return 0; } int *createArray(int n){    int *a;    a=(int*)malloc(n*sizeof(int));    return a; } void readArray(int n,int *a){    for(int i=0;i<n;i++){       scanf("%d",a+i); }} int findType(int n, int *a){    int c=0,d=0;    for(int i=0;i<n;i++){       if(a[i]%2==0){          c++;       }       else{          d++;    }}    if(c==n){       printf("The array type is Even
");    }    if(d==n){       printf("The array type is Odd
");    }    if(c!=n && d!=n){       printf("The array type is Mixed
");    }    return 0; }

輸出

執行上述程式時,將產生以下輸出:

Enter the size of array
4
Enter the elements of array
12
14
16
18
The array type is Even

更新於:2021年3月26日

516 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.