c语言题目, 输入任意长度的字符串,输出这个字符串中只出现一次的第一个字符,并输出这个字符串中出现

c语言题目,输入任意长度的字符串,输出这个字符串中只出现一次的第一个字符,并输出这个字符串中出现最多次的字符,写出c语言程序。... c语言题目, 输入任意长度的字符串,输出这个字符串中只出现一次的第一个字符,并输出这个字符串中出现最多次的字符,写出c语言程序。 展开
 我来答
albumin
推荐于2016-11-24 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2402万
展开全部
#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;
}
zjfaok
推荐于2018-03-23 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1626万
展开全部
输入的字符串只含有字母 A-Z 以及 a-z 么,如果是的话就好做了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hbczmxy
2015-03-04 · TA获得超过2965个赞
知道小有建树答主
回答量:370
采纳率:100%
帮助的人:280万
展开全部
你等等,我明天写后就发给你
追问
好的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式