用c编写 : 输入一个字符串,找出字符串中最长的单词。

haokk 2001-08-20 05:50:28
例如输入 : i am a student. 则输出 :student


...全文
1243 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ychao 2001-08-21
  • 打赏
  • 举报
回复
# include <stdio.h>
# include <string.h>

void devide(char[],char[][15],int*);
int max(char[][15],int);

int main()
{
int wordNum=0,i=0,m;
char tgt[100],word[10][15]={' '};
printf("Insert the sentence please:\n");
gets(tgt);
printf("The sentence you input is:\n"); puts(tgt);

devide(tgt,word,&wordNum);
printf("The longest word is:\t");
m=max(word,wordNum);
while(word[m][i]!='\0'){
printf("%c",word[m][i]);
i++;
}
return 0;
}
void devide(char t[],char w[][15],int* wN)
{
int i=0,x=0,y=0;
while(t[i]!='\0'){
if(t[i]!=' '){
w[x][y]=t[i];
y++;
i++;
}

else{
i++;
x++;
y=0;
}
}
* wN=x+1;
}

int max(char t[][15],int num)
{
int x=0,n=strlen(t[0]),max=0;
while(x<num){
if(strlen(t[x])>n){
n=strlen(t[x]);
max=x;
}
x++;
}
return max;
}
mychome 2001-08-21
  • 打赏
  • 举报
回复
#include "stdio.h"
#include "string.h"
#define R 20
#define C 30
void main()
{
char s[C][R],temp[R];
int i=0,j=0,t;
while((s[i][j]=getch())!='\n')
{
if(s[i][j]==' ')
{i++;
j=0;
}
else
j++;
}
for(t=0;t<i+1;t++)
puts(s+t);
for(j=0;j<i;j++)
for(t=j;t<i;t++)
if(strlen(s+t)<strlen(s+t+1))/*测字符长度*/
{
strcpy(temp,s+t);
strcpy(s+t,s+t+1);/*拷备*/
strcpy(s+t+1,temp);
}
for(t=0;t<1;/*字符最长的前几个*/t++)
puts(s+t);
}
我也是个初学者,这个程序是我才写的我也没试过,也不知行不,你试试,咱多交流好吗?我的Email:mychome@263.net
mychome 2001-08-21
  • 打赏
  • 举报
回复
#include "stdio.h"
#include "string.h"
#define R 20
#define C 30
void main()
{
char s[C][R],temp[R];
int i=0,j=0,t;
wihile((s[i][j]=getch())!='\n')
{
if(s[i][j]==' ')
{
i++;
j=0;
}
else
j++;
}
for(t=0;t<i+1;t++)
puts(s+t);
for(j=0;j<i;j++)
for(t=j;t<i;t++)
{
if(strlen(s+t)<strlen(s+t+1))/*strlen(s)测字符长度*/
{strcpy(temp,s+t);/*s+t拷备temp*/
strcpy(s+t,s+t+1);
strcpy(s+t+1,temp);
}
printf("long is:");
for(t=0;t<1/*最长的前几个*/;t++)
puts(s+t);
}
我也是个初学者,这个程序我也没试过,你可以试试。咱多多交流,我的Email是:mychome@263.net
SCUM 2001-08-20
  • 打赏
  • 举报
回复

分词

排序





SPT 2001-08-20
  • 打赏
  • 举报
回复
能自己解决就自己解决
darcy_loren 2001-08-20
  • 打赏
  • 举报
回复
自己搞嘛!
这儿不是课堂呀!
书上有嘛!
liegou911 2001-08-20
  • 打赏
  • 举报
回复
书上有
reinly 2001-08-20
  • 打赏
  • 举报
回复
char *str[3]={'I','am','a','student'};
再比较数组中的长度,打印出最长的字符串
xiaoshitou 2001-08-20
  • 打赏
  • 举报
回复
我想用数组和指针,用空格分隔单词,可以找出两空格之间的字符数判断最长的单词
书上该有这个例子的,
dot99 2001-08-20
  • 打赏
  • 举报
回复
creat a arry to save the length of each word in this words
compare each length an chose the ID of the arry element
print the word
forwardforward 2001-08-20
  • 打赏
  • 举报
回复
根据空格取出单词;放在一个字符串数组中;求出最长的单词。
谭浩强C程序设计中有类似的习题,可以看解答。
xingworld 2001-08-20
  • 打赏
  • 举报
回复
gz
icu 2001-08-20
  • 打赏
  • 举报
回复
高程书上有例子,是个经典的算法
little_f 2001-08-20
  • 打赏
  • 举报
回复
看看你自己的C语言教程,自己解决,如果有问题,把你的源程序贴出,大家帮你解决问题
渭河流域位于国黄河游地区,是黄河的重要一级支流流域,地理范围主要涵盖陕西省部、甘肃东部和宁夏部分地区。该流域自西向东延伸,总长约818公里,流域面积广阔,人口密集,是我国重要的农业与工业带,同时也是西北地区经济、文化与生态发展的核心区域之一。渭河流域水系发育完善,除干流外,还包括泾河、洛河、沣河、滈河等多条支流,构成了完整的河网体系,对黄河流域的水资源调配与生态安全具有重要意义。 本数据集提供了渭河流域矢量边界及河流分布的标准化shp文件,包含以下文件: (1)可编辑MXD文件:可直接在 ArcGIS 打开,用户可进行二次编辑、专题制图及空间分析,方便科研、教学与管理应用。 (2)标准SHP文件:包含渭河流域边界矢量数据以及干流与主要支流的矢量化河流线条,属性表附带河流名称、流域隶属等信息,便于查询与叠加分析。 (3)标准成图TIF文件:输出高清、规范的地图成果,能够直观展示渭河流域整体边界与内部河流分布格局,可用于汇报、展示与出版。 本资源可广泛应用于流域水资源管理、生态环境保护、土地利用研究、洪涝灾害评估等领域,同时也能为流域综合治理、生态修复规划、水文模拟与地理建模提供基础支撑。通过与其他数据(如DEM、土地覆盖、气象数据)叠加使用,还能开展更加深入的多源数据分析,为黄河流域高质量发展与区域生态安全提供科学依据。

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧