C语言的问题,输入一行字符串,输出最长的单词,

作者&投稿:弥连 (若有异议请与网页底部的电邮联系)
C语言编程:写一个函数,输入一行字符,将此字符串中最长的单词输出.~

#include

void
main()
{
int
a,b,c;
printf("请输入3个整数:");
scanf("%d%d%d",&a,&b,&c);
if((a>b)
&&
(a<c)
||
(a<b)
&&
(a>c))
printf("

%d
为位于中间的数
",a);
if((b>a)
&&
(b<c)
||
(b<a)
&&
(b>c))
printf("

%d
为位于中间的数
",b);
if((c>b)
&&
(c<a)
||
(c<b)
&&
(c>a))
printf("

%d
为位于中间的数
",c);
}
这个是几个数中输出最大的数的!

扩展资料:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串

#include "stdio.h"
#include

void main()
{
void PrintLongWord(char arry[]);

char arr[1000];
char c;
int flag = 1;

while(1)
{
printf("请输入字符串:");
gets(arr);
PrintLongWord(arr);

printf("是否继续?(Y/N):");
scanf("%c",&c);
if(c == 'n'||c == 'N')
break;
}
}
void PrintLongWord(char arry[])
{
int i,x = 0,max = 0,j,y;
char c;

for(i = 0;i <= (int)strlen(arry);i++)
{
if((c = arry[i]) )
{
if((c >= 'a' && c = 'A' && c <= 'Z'))
{
x++;
}
else
{
if(x > max)
{
max = x;
y = i;
j = y - x;
x = 0;
}
}
}
else
{
if(x > max)
{
max = x;
y = i;
j = y - x;
}
}
}
printf("输出最长单词:");
for(i = j;i < y;i++)
printf("%c",arry[i]);

printf("
");
}
去年的作业题,希望对你有帮助

#include <stdio.h>
#include  <string.h>
#include <ctype.h>


char *max(const char *str)
{
char *mx=str,*p,*p1;
for (p1=p=str;*p;p++)
   if (!isalpha(*p))
   {
*p='\0';
if (strlen(mx)<strlen(p1))  mx=p1;
p1=p+1;
   }
return mx;
}
int main(int argc,char* argv[])
{
char a[80];
puts(max(gets(a)));
return 0;
}


你的最后一个单词读不到


C语言的问题! 输入一个数字,之后用*号 组成这个数字输出!
0,1, 1,0,1, 1,0,1, 1,1,1 };int one[15] = { 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0 };int two[15] = { 1,1,1, 0,0,1,

一个C语言的问题,输入若干人员的姓名和电话号码,若输入姓名的字符为...
OhMan it = NULL; char name[MAX_STR] = { 0 }; char number[MAX_STR] = { 0 }; while( 1 ) { printf("

c语言问题 键盘输入一个四位数,输出它的各位数字之和。如n=1234,输出1...
include<stdlib.h> intmain(){ inta,b;scanf("%d",&a);b=(a\/1000)+(a%1000)\/100+(a%100)\/10+a%10;printf("b=%d\\n",b);system("pause");return0;}

c语言问题...输入一个数字 该数字自动增加1
回答:#include <stdio.h>#include <stdbool.h>int main(){ int i=0; printf("请输入数字:\\n"); scanf("%d",&i); printf("%d ",i+1); return 0;}

C语言的小问题 由键盘输入一个小写英文字母,先输出该字母及ASCII码值...
include"math.h"void main(){ char ch;printf("input a small letter:");do scanf("%d,&ch);while(!(ch>'a' && ch<'z')) ; \/*确保输入的是小写字母*\/ printf("%c %d %c %d",ch,ch,ch-32,ch-32); \/*按要求输出*\/ } ...

c语言问题,有一个已排好序的数组,现输入一个数,要求按原排序的规律将它...
然后输入要插入的整数n。再用一个for语句把n和数组元素逐个比较,如果发现有n>a[i]时,则由一个内循环把i以下各元素值顺次后移一个单元。后移应从后向前进行(从a[9]开始到a[i]为止)。 后移结束跳出外循环。插入点为i,把n赋予a[i]即可。 如所有的元素均大于被插入数,则并未进行过后移...

问题: C语言,有一个已排好序的数组,要求输入一个数后,按原来排序_百度...
C语言,有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。解:include int main(){ int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("array a:\\n");for (i=0;i<10;i++)printf("%5d",a[i]);printf("\\n");pri...

c语言问题:如何编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N...
正六边形 你们老师学过数学么?你可以告诉他 在数学上实现不了这个算法,因为会出现非整数无法在屏幕上实现。支持楼上的说法,但有一点需要修正,控制台如果用星号的话应该大于45度 因为字符的纵横比不是正方形的,但是绝对到不了120度 我只能做一个类似六边形。不是很正的 include "stdafx.h"include ...

...然后输出小于等于该数的所有素数,C语言问题。
int main(){ int i,t,flag,x;printf("请输入:");scanf("%d",&x);for( i=3; i<=x; i++) \/\/比X小并且大于2的数 { flag=0;for( t=2; t<=i\/2; t++)\/\/循环判断是否是素数 { if(i%t==0){ flag=1;break;} } if(flag==0)printf("%d\\n",i);} return 0;} ...

C语言问题,如下代码,无论输入一个什么字符后输出结果都是一个字(不会...
但是你用fgetc读取文件的时候,因为已经写入一个字符的原因,文件指针fp指向的不是文件开头输入进去的字符,而且你打开文件用的是写模式 你可以再用读模式打开一下文件,用以下语句 FILE *fp;char ch,j;fp=fopen("d:\\\\text.txt","w+");scanf("%c",&j);fputc(j,fp);fclose(fp);fp=fopen(...

辽阳县13924351995: C语言上中怎么样直接输入输出一个字符串 -
愈音达贝: C语言中字符串的输入和输出主要有两种方式: 输入使用:scanf("%s",a);对应的输出使用:printf("%s\n",a); 输入使用:gets(b);对应的输出使用:puts(b);字符串或串(String)是由数字、字母、下划线组成的一串字符.一般记为 s=...

辽阳县13924351995: 一个c语言问题,编写一个函数,从键盘输入一行字符,将此字符串中最长和最短的单词输出 -
愈音达贝://#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" #include "string.h" int main(void){char str[100][21];int i,j,lmax,lmin,ln,imax,imin;printf("Type a line text( # end)...\nstr=");for(i=0;i<100;i++)if(scanf("%s",str[i]),str[i]...

辽阳县13924351995: C语言问题统计数字出现的次数统计一行字符中各个数字出现的次数. 输入 输入为一行,这一行包括一些字符,这些字符可以为数字,空白符,字母,以换... -
愈音达贝:[答案] #include int main() {int c, i; int ndigit[10]; for(i=0;i='0' && c

辽阳县13924351995: c语言编程 写一个函数,输入一行字符,将此字符串中最长的单词输出.用最简单的方法 -
愈音达贝: #include "string.h" #include "ctype.h" main() { char str[50]; char str1[50][20]; char str2[20]; int i,j,t;gets(str);j=0,t=0; for(i=0;str[i];i++) /*提取字符串中的单词,但是输入时每个单词之间只允许*/ { /*有一个字符如空格,逗号只有句末才能用句号*/...

辽阳县13924351995: c语言编程:输入一行字符,输出该字符串中间的字符 -
愈音达贝: 特殊情况我考虑到三种,第一是字符串为单个字符,第二是字符串长度为偶数,第三是先输入了enter. 先用strlen求长度,再进行if或其他判断是否要进行余下操作.具体实现不难就不再赘述,需要请追问.

辽阳县13924351995: C语言题目:输入一行字符,将此字符串中最大的单词输出 -
愈音达贝: #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;} //一个空格表示...

辽阳县13924351995: C语言 输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果 -
愈音达贝: ||#include "stdio.h" void main() {char s;int i=0,j=0,k=0,m=0,da=0,xiao=0;printf("please input the string\n");while((s=getchar())!='\n') /*循环从键盘读入字符直到一行结束(输入回车)*/{if((s='a')||(s'A')) {if(s='A')da++;if(s='a')xiao++;i++; ...

辽阳县13924351995: 快来看看啊!!!急求,,,,在线等!!c语言编程问题:输入一个字符串,将它反向输出. -
愈音达贝: #include<stdio.h>#include<math.h> int main(void) { int i,len; char ichar[2]; char zchar[256]={0}; char fchar[256]={0}; printf("请输入字符串:"); i=0; while(1) { scanf("%c",&ichar); //ichar=getc(); if (ichar[0] == 10) break; zchar[i]=ichar[0]; i++; } ...

辽阳县13924351995: c语言编程 写一个函数,输入一行字符,将此字符串中最长的单词输出 -
愈音达贝: 楼上的何必不指出思路啊! 分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在把这个长度的单词弄出来! 在编程之前,首先明确目标,理清思路,从上往下把需要的都写出来,这样长期的积累就能写出好程序了,祝愿楼主学有所成! PS:仅代表个人观点,如有错误,谢谢指出!还有楼主要找的是最长的单词,又不是找到ASC||最大的字母,不住楼上的例题,我有点理解不了,寡闻了吧,我!

辽阳县13924351995: C语言输入输出字符串 -
愈音达贝: char ch[5]表示的是定义了一个字符数组(即字符串),数组单元有5个,每个单元都是字符型,由于字符串是用\0作结束的,5个单元的字符数组实际上能完整存储的只能是长度不超过4个字符的字符串,多了的话就要占用其他单元了(这些单元有可能会被系统分配给其他变量,而能够用来存储字符串的就是你定义的这5个单元的字符数组),可能会出现溢出,也就是有时候会出现输出的字符串后面有乱码 char ch表示定义了一个字符变量,用scanf为其赋值的话应该用%c,即scanf("%c",&ch),它只能表示一个字符 char ch[]数组定义不允许[]里为空 char ch[1]表示的也是一个字符数组,所以你可以输入字符串,同样随便输入就有可能溢出

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网