| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:找最长单词的 哪错了????
只看楼主 加入收藏
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
找最长单词的 哪错了????
#include<string.h>
#include<stdio.h>
main()
{
int i=0,max=0,n=0,d,c;
char a[10];
system("cls");
printf("please input ;\n");
gets(a);
while(a[i]!='\0')
{
if (a[i]==' ')
n=0;
while(a[i]!=' ')
{
n++;
i++;
}
if (max<=n)
{max=n;d=i;c=i-max;}
i++;
}
for (i=c;i<d;i++)
printf("%c",a[i]);
}
搜索更多相关主题的帖子: 单词 
2010-12-09 14:51
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:7 
程序代码:
#include<string.h>
#include<stdio.h>

int
main(void)
{
      int i=0,max=0,n=0,d,c;
      char a[20];

      system("cls");
      printf("please input ;\n");
      gets(a);

      while(a[i]!='\0')
      {
            while(a[i]==' ')
            {
                  n=0;
                  i++;
            }
            while(a[i]!=' '&&a[i]!='\0')
            {
                  n++;
                  i++;
            }

            if (max<n)
            {
                  max=n;
                  d=i;
                  c=i-max;
            }
      }
      for (i=c;i<d;i++)
            printf("%c",a[i]);
      getch();
      return 0;
} 

2010-12-09 16:12
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:7 
lz只用一个字符数组来存输入的字符串a,请问这个a和谁比较呢?
你只有一个单词,那么它永远是最长的,system("cls");这个是
在哪个头文件里面的呢?你也没包含!
我写了一个不知道符合你的意思不
程序代码:
#include<string.h>
#include<stdio.h>
int main()
{
int max=0,i,j;
char a[20];
char b[20];
char c[20];
/*system("cls");*/
printf("please input :\n");
gets(a);
gets(b);
gets(c);
max=strlen(a);  /*假定a字符串是最长的*/
if((i=strlen(b))>=max)
{ max=i;  /*若b比a长,则记录b的长度*/
printf("the longest string is %s and it has %d char",b,max);
}
else if((i=strlen(c))>=max)
{   max=i;/*若c比b长,则记录c的长度*/
printf("the longest string is %s and it has %d char",c,max);
}
else
printf("the longest string is %s and it has %d char",a,max);
}
2010-12-09 16:15
mengcong3959
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:113
注 册:2010-12-6
收藏
得分:7 
我按照你的思路改了下,,满意的话把分给我吧,呵呵
#include<string.h>
 #include<stdio.h>
 void main()
 {
 int i=0,max=0,n=0,d,c;
 char a[10];
 printf("please input ;\n");
 gets(a);
 while(a[i]!='\0')
 {
     if (a[i]!=' ')

       n++;
     else
     {
         if (max<=n)
       {max=n;d=i;c=i-max;}
        n=0;
     }
 i++;
 }
 if (max<=n)
     {max=n;d=i;c=i-max;}
     
 printf("%d",max);
 for (i=c;i<d;i++)
 printf("%c",a[i]);
 }
2010-12-09 16:47
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
收藏
得分:0 
回复 2楼 xiaomarn
system("cls");
这个是清屏的 就像你用DOS时候一样;你输入system("shutdown -s");这个就是关机;我也不知道它的头件是什么???
2010-12-09 18:03
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
收藏
得分:0 
回复3楼 打错!
2010-12-09 18:04
mengcong3959
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:113
注 册:2010-12-6
收藏
得分:0 
回复 3楼 venus85
你是没理解它的意思啊,,它是以空格来代表两个单词的分割点。
2010-12-09 21:36
快速回复:找最长单词的 哪错了????
数据加载中...
 
   



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

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