c 关于数组几个查序程序

2023-12-16 20:11:45

1. 查询某元素是否在数组中

int main(void) {
	
  // char  i[10][2]={{1,7},{2,10},{5,2},{0,-1},{4,10},{10,1},{3,1},{0,8}};
    
	char z[10]={1,2,3,4,1,4,6,8,0,9};
	
	
	int zz=0;     //标志位:0:在 1:不在
	char in=9;    //输入数
	
	int t=0;
    do{
      t++;
	  if(t>10){   //数组总元数,防止数组越界
		  zz=1;   //没有置no 标志位
		  break;
	  }
	}while(z[t-1]!=in);
	
	printf("%d\n",zz);
	return 0;
}

2. 统计数组中出现的元素,重复的只记一次

?

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/videodev2.h>  
#include <string.h>
#include <sys/mman.h>
#include <linux/fb.h>


int main(void) {
	
	char  i[10][2]={{1,8},{2,8},{5,8},{0,-1},{4,10},{10,5},{3,5},{0,5}};
	
	char o[10][2]={};
	
	int t=0;
	
	for(int a=0;a<10;a++){
		if(t==0){
			o[t][0]=1;
			o[t][1]=i[a][1];
			t++;
			continue;
		}
//--------------------------------------
		int n=0;
		do{
			n++;
			if(n>t){
				o[t][1]=i[a][1];
				o[t][0]=1;
				t++;
				break;
			}
		}while(o[n-1][1]!=i[a][1]);		
	}
//------------------------------------
	for(int a=0;a<t-1;a++){
		for(int b=0;b<2;b++){
			printf("%d  ,",o[a][b]);
		}
		puts("");
	}
	return 0;
}

?

3. 统计数组中的元素,并计算重复元素出现的频率,可用于Z形排序的数据

?

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/videodev2.h>  
#include <string.h>
#include <sys/mman.h>
#include <linux/fb.h>


int main(void) {
	
	char  i[10][2]={{1,8},{2,1},{5,8},{0,-1},{4,8},{10,5},{3,5},{0,9}};
	
	char o[10][2]={};
	
	int t=0;
	
	for(int a=0;a<10;a++){
		if(t==0){
			o[t][0]=1;                    //复制第一个元素
			o[t][1]=i[a][1];
			t++;
		    continue;
		}
//--------------------------------------
		for(int b=0;b<t;b++){                 //计算重复的次数
			if(o[b][1]==i[a][1]){
				o[b][0]=o[b][0]+1;
			}
		}
		
		int n=0;                         // 生成第一出现的元素
		do{
			n++;
			if(n>t){
				o[t][1]=i[a][1];
				o[t][0]=1;
				t++;
				break;
			}
		}while(o[n-1][1]!=i[a][1]);
		
	   
	    
		
		
	}
//------------------------------------
	for(int a=0;a<t-1;a++){
		for(int b=0;b<2;b++){
			printf("%d  ,",o[a][b]);
		}
		puts("");
	}
	return 0;
}

?

文章来源:https://blog.csdn.net/m0_59802969/article/details/135033176
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。