| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 589 人关注过本帖
标题:输出最大单词
只看楼主 加入收藏
ycjgoodboy20
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2009-12-21
结帖率:33.33%
收藏
已结贴  问题点数:25 回复次数:4 
输出最大单词
#include<stdio.h>
#include<string.h>
main()
{
char x[128][128]={0};  
char ch[4096]={0};
int i=0;
int w=0,p=0;
int len=0,max=0,top=0;
gets(ch);              
while(ch[i]!='\0' && i<4096)
{
if(ch[i]==' ') {w++;p=0;i++;continue;}
else x[w][p]=ch[i];
p++;
i++;
}
                           
for(int j=0;j<=w;j++)
{
len=strlen(x[j]);
if(max<len) {max=len;top=j;}
}
printf("%s 最长\n",x[top]);
}



详细解答每个步骤!!具体步骤也行
搜索更多相关主题的帖子: 单词 输出 
2009-12-22 19:32
ycjgoodboy20
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2009-12-21
收藏
得分:0 
大哥们 我在线等呀
2009-12-22 19:33
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:8 
while(ch[i]!='\0' && i<4096)
{
if(ch[i]==' ') {w++;p=0;i++;continue;}
else x[w][p]=ch[i];
p++;
i++;
}
此函数是用来把你输入单词放入到ch[]数组中的,假设你是以空格作为间隔符的。
for(int j=0;j<=w;j++)
{
len=strlen(x[j]);
if(max<len) {max=len;top=j;}
}
printf("%s 最长\n",x[top]);
}
这个函数是用来比较数组中每个元素的长短的。top是用来记录大长度位置的!
2009-12-22 20:36
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
收藏
得分:8 
#include<stdio.h>
#include<string.h>
main()
{
    char x[128][128]={0};  
    char ch[4096]={0};
    int i=0;
    int w=0,p=0;
    int len=0,max=0,top=0;
    gets(ch);              
    while(ch[i]!='\0' && i<4096)
    {
        if(ch[i]==' ')
        {    w++;
            p=0;
            i++;
            continue;//两个单词之间是以空格隔开,但遇到空格时就执行gets(ch),继续输入单词
        }
        else x[w][p]=ch[i];//把一个单词中的每一个字母存到一个二维数组中,数组的行号代表第几个单词,
        p++;
        i++;
    }
                           
    for(int j=0;j<=w;j++)//比较输出长度最大的单词
    {
        len=strlen(x[j]);
        if(max<len)
        {
            max=len;
            top=j;//记录长度最大的单词的位置
        }
    }
    printf("%s 最长\n",x[top]);
}

//此程序似乎有点限制 如果有多个长度一样的单词呢?
2009-12-24 13:35
crystal111
Rank: 2
等 级:论坛游民
帖 子:25
专家分:21
注 册:2009-11-15
收藏
得分:8 
#include<stdio.h>
#include<string.h>
main()
{
char x[128][128]={0};  /*定义二维数组,但是里面基本上没有值,它的目的是为了存放一个一个的单词*/
char ch[4096]={0};/*目的是为了连续输入输入一大堆数,所以要定义的足够大*/
int i=0;
int w=0,p=0;
int len=0,max=0,top=0;
gets(ch);    /*输入字符串*/         
while(ch[i]!='\0' && i<4096)
{
if(ch[i]==' ') {w++;p=0;i++;continue;} /*continue的意思是结束本次循环,跳到下一个循环中去*/
else x[w][p]=ch[i];
p++;
i++;/*把一个一个单词放到一个二维数组中去,并可以知道单词的个数就是(w+1)*/
}
                           
for(int j=0;j<=w;j++)
{
len=strlen(x[j]);/*计算单词的长度*/
if(max<len) {max=len;top=j;}/*找出较大的*/
}
printf("%s 最长\n",x[top]);
}
2009-12-24 16:40
快速回复:输出最大单词
数据加载中...
 
   



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

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