码迷,mamicode.com
首页 > 其他好文 > 详细

在字符串中找出第一个只出现一次的字符

时间:2015-11-07 19:12:36      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:字符串、第一次、abaccdef、数组下表统计

题目:

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

题目分析:

      对于在字符串中找出第一个出现一次的字符,联系ASCII码表,能够得到有256中不同的字符,可以利用字符的编码,将每个字符的编码作为数组的下表,建立一个有256个元素的数组arr[256],将数组中的每一个元素对应统计字符的个数,从字符串的第一个字符进行遍历,遇到一个字符给对应的数组元素加1,当数组中的其中一个元素变到2,则输出这个元素所对应的数组下表,即就是这个字符的ASCII码。


    下面为具体的程序:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char Find(char *p)  
{  
    if(p == NULL)  
    {  
        return ‘\0‘;  
    }    
    int arr1[256];  
    int i=0;  
    for(i=0;i<256;i++)     //初始化数组
    {  
        arr1[i] = 0;  
    }  
    char *q=p;  
    while((*q)!=‘\0‘)  
    {  
        arr1[*q]++;  
        q++;  
    }  
    q=p;  
    while(*q!=‘\0‘)  
    {  
        if(arr1[*q]==1)  
        {  
            return *q;  
        }  
        q++;  
    }  
    return ‘\0‘;  
}  
int main()  
{  
    char arr[256];  
    printf("请输入:");  
    gets(arr);  
    printf("Find:   %2c",Find(arr)); 
    system("pause");
    return 0;  
}

本文出自 “无心的执着” 博客,转载请与作者联系!

在字符串中找出第一个只出现一次的字符

标签:字符串、第一次、abaccdef、数组下表统计

原文地址:http://10740590.blog.51cto.com/10730590/1710587

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