【work】输出连续最多的字符

题目:

写一个程序输出连续最多的字符串(1,1,2,2,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,6,7,7,)


答案:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    //输出提示信息
    printf("请输入字符串: \n");
    
    //输入字符串c[],这里暂且上限个数为100,够用即可
    char c[100];
    scanf("%s",c);
    
    //循环判断出现次数(sum)最多的字符(buf)
    int i;
    int sum = 0;
    char max = '\0';
    for(i = 0; i < 100; i++)
    {
        char buf = c[i];
        int j;
        int k = 0;
        for(j = i; j < 100; j++)
        {
            if(c[j] == '\0')
                break;
            if(buf == c[j])
                k++;
        }
        if(k > sum)
        {
            sum = k;
            max = buf;
        }
    }
    
    //输出结果
    printf("连续最多的字符串是%c \n",max);
    return 0;
}

主要知识点:

数组、循环语句、判断语句。


关联知识点:

c语言中\0是什么意思

'\0'的意思是 ASCII 为 0 的字符。

它所代表的意义是“字符串结束符”。

比如,一个字符串 "Hello" ,它是由字符 'H','e','l','l','o','\0' 6 个字符在内存中连续存放的。程序在见到第一个 '\0' 时就会认为该字符串结束了。

字符常量'a'和字符串常量"a"虽然都只有一个字符,但在内存中的情况是不同的。 

字符常量'a'在内存中占一个字节,可表示为: 

字符串常量"a"在内存中占二个字节,可表示为: 

a \0


posted @ 2015-10-09 21:05  Mr.Kay  阅读(175)  评论(0)    收藏  举报