C 程序使用指针查找用户输入的数组类型。
问题
编写一个 C 程序来使用指针查找我们需要检查的数组类型,数组中的给定元素是偶数还是奇数或两者的组合。
解决方案
用户必须输入一个整数数组,然后显示数组的类型。
示例 1 - 输入:5 3 1,输出:奇数数组
示例 2 - 输入:2 4 6 8,输出:偶数数组
示例 3 - 输入:1 2 3 4 5,输出:混合数组
算法
参考下面给出的算法来查找用户在指针的帮助下输入的数组类型。
步骤1:在运行时读取数组的大小。
第二步:输入数组元素。
第三步:声明指针变量。
步骤3:使用指针变量检查数组的所有元素是否都是奇数。
然后,打印“奇数”。
步骤4:使用指针变量检查数组的所有元素是否为偶数。
然后,打印“偶数”。
第 5 步:否则,打印“Mixed”。
示例
以下是在指针的帮助下查找用户输入的数组类型的 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\n");
scanf("%d",&n);
printf("Enter the elements of array\n");
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\n");
}
if(d==n){
printf("The array type is Odd\n");
}
if(c!=n && d!=n){
printf("The array type is Mixed\n");
}
return 0;
}
执行上述程序时,它会产生以下输出 -
Enter the size of array4
Enter the elements of array
12
14
16
18
The array type is Even
以上是 C 程序使用指针查找用户输入的数组类型。 的全部内容, 来源链接: utcz.com/z/349147.html