c语言题目, 输入任意长度的字符串,输出这个字符串中只出现一次的第一个字符,并输出这个字符串中出现
c语言题目,输入任意长度的字符串,输出这个字符串中只出现一次的第一个字符,并输出这个字符串中出现最多次的字符,写出c语言程序。...
c语言题目, 输入任意长度的字符串,输出这个字符串中只出现一次的第一个字符,并输出这个字符串中出现最多次的字符,写出c语言程序。
展开
3个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch,mostch='\0';
int max=0,first=0,index=-1;
static firstch[255];
static int num[255];
while((ch=fgetc(stdin))!=EOF)
{
num[ch]++;
if(num[ch]==1)
firstch[++index]=ch;
if(num[ch]>1&&ch==firstch[first])
++first;
if(num[ch]>max)
{
max=num[ch];
mostch=ch;
}
}
if(index>=0) {
if(first<=index)
printf("only occur 1 times char in begin is: %c\n",firstch[first]);
printf("occur most char is :%c\n",mostch);}
return 0;
}
追答
#include <stdio.h>
#include <stdlib.h>
#define LEN 255
int main()
{
char ch,mostch='\0';
int max=0,i=0;
int num[LEN]={0};
char firstch[LEN];
while((ch=fgetc(stdin))!='\n'&&ch!=EOF)
{
num[ch]++;
firstch[i++]=ch;
if(num[ch]>max)
{
max=num[ch];
mostch=ch;
}
}
if(max!=0)
{
for(i=0;i<LEN;i++)
if(num[firstch[i]]==1)
{
printf("only occur 1 times char in begin is: %c\n",firstch[i]);
break;}
printf("occur most char is :%c\n",mostch);}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询