码迷,mamicode.com
首页 > 编程语言 > 详细

c 语言 遍历字符数组查找的方法 (自定义头文件)

时间:2015-08-02 18:26:26      阅读:331      评论:0      收藏:0      [点我收藏+]

标签:c语言;遍历字符数组

//题目:在字符串中找出第一个只出现一次的字符。
//如输入“abaccdeff\0”,则输出‘b‘。

#ifndef __SELECT_FIRST__
#define __SELECT_FIRST__
char Select_first(char *p,int size);
char Select_first1(char *p, int size);
char Select_first2(char *p, int size);
#endif                              //头文件  函数声明

#include<stdio.h>//函数体
#include<string.h>

char Select_first(char arr[],int size)
{
	int i = 0, j = 0;
	while (arr[i])
	{
		
		if ((arr[i] != arr[j]&&j<(size-1))||i==j)
		{
			j++;
		}
		else
		{   
			j = 0;
			i++;
		}
		if (j == (size - 1))
			return arr[i];
			
	}
	return ‘\0‘;
}
char Select_first1(char *p, int size)
{
	char ch = ‘\0‘;
	char arr[20];
	int i = 1,j=1;
	strcpy(arr, p);
	while (arr[0])
	{
		ch = arr[0];
		i = 1; 
		j = 1;
		while (arr[i])
		{
			if (ch == arr[i])
			{
				j++;
			}
			else
			{
				arr[i - j] = arr[i];
				}
			i++;
		}
		if (j == 1)
			return ch;
		arr[i - j] = ‘\n‘;

	}
	return ‘\0‘;
	




}
char Select_first2(char p[])
{
	int arr[255] = { 0 };
	char * ptr = NULL;
	ptr = &p[0];
	while (*p)
	{
		arr[*p]++;
		p++;
	}
	while (*ptr)
	{
		if (arr[*ptr] == 1)
			return *ptr;
		ptr++;
	}
	return ‘\0‘;

}

#include<stdio.h>            //主函数
#include"Select_first.h"

int main()
{
	char arr[] = "abbaccdeff";
	char ch=Select_first2(arr,strlen(arr));
	printf("%c\n",ch);
}


c 语言 遍历字符数组查找的方法 (自定义头文件)

标签:c语言;遍历字符数组

原文地址:http://shaungqiran.blog.51cto.com/10532904/1680984

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!