一只超大的甲鱼 发表于 2022-12-17 18:11:36

C语言问题

输入一个英文句子,每个单词间用一个空格隔开。
求出最长的单词的开始位置(第几个字符)和它的字符个数。
(用指针实现)

jhq999 发表于 2022-12-18 08:20:20

本帖最后由 jhq999 于 2022-12-18 10:27 编辑

int main()
{
    int letterstart=0,charcount=0,lettermax=0,maxstart=0;
    int ch=0;
    while((ch=getchar())!='\n')
    {
      if(0x20==ch)
      {
            if((charcount-letterstart)>lettermax)lettermax=charcount-letterstart\
                ,maxstart=letterstart;
            letterstart=charcount+1;

      }
      charcount+=1;
    }
    if((charcount-letterstart)>lettermax)lettermax=charcount-letterstart\
                ,maxstart=letterstart;
    printf("%d %d",maxstart,lettermax);
}
int main()
{
    char s={0},*p=s,*start=p,*max=0,*maxstart=0;//Specifies the x-extent ggggggggggggg of the viewporttt
    gets(s);

    while(*p)
    {
      if(*p==0x20)
      {
            if((p-start)>max)max=p-start,maxstart=start-s;
            start=p+1;
      }
      p+=1;

    }
    if((p-start)>max)max=p-start,maxstart=start-s;
    printf("%d %d\n",maxstart+1,max);
return 0;
}
页: [1]
查看完整版本: C语言问题