首先,定义了一个函数 findFirstUniqueChar,它的输入参数是一个字符串 s,表示要查找的字符串。函数返回第一个仅出现一次的字符。 在函数内部,创建了一个哈希表 count,用于存储每个字符的出现次数。然后,使用一个循环遍历字符串 s 中的每个字符,并在哈希表 count 中增加对应字符的计数。 接下来,再次遍历字符串 s ...
根据上述的分析,我们可以用以下的C语言程序来实现题目的要求。该程序在VC6.0的环境下运行正常,输入一个非空字符串,输出第一个只出现一次的字符,如果不存在输出-1。程序测试 为了验证我们的程序是否正确,我们可以用一些测试用例来检验。我们可以 输入一个非空字符串,经由程序判断哪个是只出现一次的字符 下期题目...
在字符串中找出第一个只出现一次的字符。 如输入“abaccdeff”,则输出'b'。 这个题加一些要求维度只能为n 代码如下: #include<stdio.h>#include<assert.h>charFLetter(chararry[],intlen){intletterNumber[256]={0};inti=0;char*ch=arry;intline=0;assert(NULL!=arry);for(i=0;i<len-1;i++){lin...
C语言:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b' #include<stdio.h>charfirstsingle(char*arr){charasc[255]={0};inti=0;for(;arr[i]!='\0';i++){asc[arr[i]]++;}for(i=0;arr[i]!='\0';i++){if(asc[arr[i]]==1){returnarr[i];return'\0';}}}int...
char oneChar(char* str){ char deq[26]; //记录出现字符的顺序 unsigned int i = 0,j=0;unsigned char letter[26]; //统计字符出现的次数 memset(letter,0,26); //初始字符出现次数为0 while(*str!='\0'){ letter[*str-'a']++;if(letter[*str-'a']==1)deq[i++]=*str;st...
main(void){ char str[1000];printf("请输入字符串:");gets(str);if(FirstNotRepeatingChar(str)==0)printf("输入字符串中没有找到第一个只出现一次的字符!\n");else printf("输入字符串中第一个只出现一次的字符为:%c\n",FirstNotRepeatingChar(str));system("pause");return 0;} ...
找出字符串中第一个只出现一次的字符 https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4 #include <stdio.h>//不使用哈希表,利用strchar和strrcar得出 #include <string.h> int main() { char str[1000]; if( fgets(str,sizeof(str),stdin)!=NULL){ int len=strlen(str); char...
查找第一个出现次数为1的字符: 再次遍历字符串(或使用字典的items()遍历字符和计数),检查每个字符的计数是否为1。如果是,则返回该字符作为第一个只出现一次的字符。 返回找到的第一个只出现一次的字符: 如果找到符合条件的字符,则直接返回它。如果遍历结束后仍未找到,根据题目要求,可能需要返回一个特殊值(如None)...
开一个int arr[26] 对应26个字母 全部初始化为-1 遍历字符串 对于下标i位置的字符c arr[c - 'a...
char oneChar(char* str){ char deq[26]; //记录出现字符的顺序 unsigned int i = 0,j=0;unsigned char letter[26]; //统计字符出现的次数 memset(letter,0,26); //初始字符出现次数为0 while(*str!='\0'){ letter[*str-'a']++;if(letter[*str-'a']==1)deq[i++]=*str;st...