【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"在内存中占二个字节,可表示为:
a \0

浙公网安备 33010602011771号