| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 936 人关注过本帖
标题:帮帮忙,看下面这个程序
取消只看楼主 加入收藏
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
结帖率:93.75%
收藏
已结贴  问题点数:10 回复次数:5 
帮帮忙,看下面这个程序
作用是输出一个字符串中最长的单词。

#include<stdio.h>
void main()
{
  void word(char a[]);
  char str[20];
  printf("input a string:\n");
  gets(str);
  word(str);
}

void word(char a[20])
{
  int i,p=0,q=0,k=0;
  for(i=0;a[i]!=' ';i++)
  p++;
  for(i=0;a[i]!='\0';i++)
  {
    if(a[i]==' ')
    {
       if(q>p)
       {
         p=q;
         k=i-p;
       }

       q=0;

     }

     else q++;

  }

  for(i=k;i<=p;i++)
   printf("%c",a[i]);

}


我是想让p始终存放当前最长单词的长度,q存放当前单词的长度。但是结果不对
搜索更多相关主题的帖子: 字符串 word 
2010-09-17 12:16
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
小改一下程序:但结果仍不对
#include<stdio.h>
void main()
{
  void word(char a[]);
  char str[20];
  printf("input a string:\n");
  gets(str);
  word(str);

  getch();

}

void word(char a[20])
{
  int i,p=0,q=0,k=0;
  for(i=0;a[i]!=' ';i++)
  p++;
  for(i=0;a[i]!='\0';i++)
  {
    if(a[i]==' ')
    {
       if(q>p)
       {
         p=q;
         k=i-p;
       }

       q=0;

     }

     else q++;

  }

  for(i=k;i<=p+k;i++)
   printf("%c",a[i]);

}
2010-09-17 12:22
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
额额~~楼上的麻烦说明确一点可以不,小的有点看不懂额
2010-09-17 13:35
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
顺便说一句,getch()是多余的。
2010-09-17 13:35
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
改好了,以下是正确程序。供大家看看


#include<stdio.h>
#include<string.h>
void main()
{
  void word(char a[]);
  char str[20];
  printf("input a string:\n");
  gets(str);
  word(str);

  getch();

}

void word(char a[20])
{
  int i,p=0,q=0,k=0;

  for(i=0;i<=strlen(a);i++)
  { if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
       q++;
    else
    {
       if(q>p)
       {
         p=q;
         k=i-p;
       }

       q=0;

     }



  }

  for(i=k;i<=p+k;i++)
   printf("%c",a[i]);

}
2010-09-17 15:00
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
回复 11楼 自由战士89
呵呵。我也纠结了好半天,后来亲自举例跟着程序走一遍才知道哪里错了,建议你也可以这样做一下,呵呵
2010-09-19 13:40
快速回复:帮帮忙,看下面这个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035906 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved