C语言编程:写一个函数,输入一行字符,将此字符串中最长的单词输出.
楼上的何必不指出思路啊!
分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在把这个长度的单词弄出来!
在编程之前,首先明确目标,理清思路,从上往下把需要的都写出来,这样长期的积累就能写出好程序了,祝愿楼主学有所成!
PS:仅代表个人观点,如有错误,谢谢指出!
还有楼主要找的是最长的单词,又不是找到ASC||最大的字母,不住楼上的例题,我有点理解不了,寡闻了吧,我!
楼上的何必不指出思路啊!
分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在把这个长度的单词弄出来!
在编程之前,首先明确目标,理清思路,从上往下把需要的都写出来,这样长期的积累就能写出好程序了,祝愿楼主学有所成!
PS:仅代表个人观点,如有错误,谢谢指出!
还有楼主要找的是最长的单词,又不是找到ASC||最大的字母,不住楼上的例题,我有点理解不了,寡闻了吧,我!
#include
<stdio.h>
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<string.h>
void max(char s[]){
int sum=0,m=0,n=0,i;
for(i=0;i<=strlen(s);i++) {
if(s[i]!=' ')
sum++;
else
{
if(m<sum) {
m=sum;
n=i-1;
} sum=0;
}
}
for(i=n-m+1;i<=n;i++) {
printf("%c",s[i]);
}
}
int main(){
char str[100];
printf("请输入一行字符:\n");
gets(str);
printf("\n此字符串中最长的单词是:\n");
max(str);
printf("\n"); return 0;
}
//max()函数if(s[i]!=" ")改为if(s[i]!=‘ ’)
//max()函数返回值改为void
#include<stdio.h>
#include<string.h>
void
max(char
s[])
//函数返回值改为void
{
int
sum=0,m=0,n=0,i;
for(i=0;i<=strlen(s);i++)
{
if(s[i]!='
')
//改为if(s[i]!=‘
’)
即是字符而不是字符串
sum++;
else
{
if(m<sum)
{
m=sum;
n=i-1;
}
sum=0;
}
}
for(i=n-m+1;i<=n;i++)//
for条件控制错误,改为for(i=n-m+1;i<=m;i++)
{
printf("%c",s[i]);
}
}
int
main()
{
char
str[100];
printf("请输入一行字符:\n");
gets(str);
printf("\n此字符串中最长的单词是:\n");
max(str);
printf("\n");
return
0;
}
你这个是作业吧??
算了,给你一个方法,你自己琢磨吧,直接给你答案太对不起你老师了!
#include
<stdio.h>
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("\n
%d
为位于中间的数\n",a);
if((b>a)
&&
(b<c)
||
(b<a)
&&
(b>c))
printf("\n
%d
为位于中间的数\n",b);
if((c>b)
&&
(c<a)
||
(c<b)
&&
(c>a))
printf("\n
%d
为位于中间的数\n",c);
}
这个是几个数中输出最大的数的!
希望对你有帮助,还是自己琢磨琢磨对你有好处~
#include
<stdio.h>
#include
<string.h>
char
*FindLongWord(char
*szInBuff)
{
static
char
szLongWord[1024]
=
{0};
char
*lpstr;
const
char
*delim
=
",.?;'\"<>{!}[]\n
";
lpstr
=
strtok(szInBuff,
delim);
sprintf(szLongWord,
"%s",
lpstr);
while((lpstr
=
strtok(NULL,
delim))
!=
NULL)
{
if
(strlen(lpstr)
>
strlen(szLongWord))
{
sprintf(szLongWord,
"%s",
lpstr);
}
lpstr
=
strtok(NULL,
delim);
}
return
szLongWord;
}
int
main()
{
char
szInBuff[1024]
=
{0};
char
*lpszBestLongWord
=
NULL;
printf("输入一行英文句子,以回车结束:");
gets(szInBuff);
szInBuff[strlen(szInBuff)]
=
'
';
lpszBestLongWord
=
FindLongWord(szInBuff);
printf("%s\n",
lpszBestLongWord);
return
0;
}
不明白的加我msn:wy030@sina.com
c语言:写出一通用函数,该函数从一个字符指针数组中寻找一个指定的字符...
\/\/如果找到则返回在长字符串中的起始位置, 若找不到则返回-1\/\/要返回1或0, 改一下就可以了int find(char* source, char* target){int i,j;int s_len=strlen(source);int t_len=strlen(target);if(t_len>s_len){return -1;}for(i=0;i<=s_len-t_len;i++){j=0;int flag=1;...
编写一个函数,调用该函数能够打印一个由指定字符组成的n行金字塔_百度...
void pyramid(int n){ int i,j;for(i=1;1<=n;i++){\/\/循环中是i<=n,写的是1<=n for(j=1;j<=n-i;j++)printf(" ");for(j=1;j<=i;j++)printf("%d",i);printf("\\n");}
:使用C语言写一个周长计算的函数(+)(单选题:3分)+A.int+CalcZC(float+...
以下是一个C语言的函数,可以计算矩形的周长:```c include <stdio.h> \/\/ 定义计算周长的函数 int getRectanglePerimeter(int width, int height) { int perimeter = 2 * (width + height);return perimeter;} int main() { int width = 5;int height = 8;int perimeter = getRectangle...
求一个用c语言编写的,编写函数计算两个整数的所有公约数的编程
好的,下面是一个用C语言编写的计算两个整数的所有公约数的函数:include <stdio.h> include <stdlib.h> int gcd(int a, int b) { int temp;while (b != 0) { temp = a % b;a = b;b = temp;} return a;} void common_divisors(int a, int b) { int i, max;max = gcd(...
写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字之间...
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,...
编写函数判断一个数是否是回文数。
这个函数通过将数字转换为字符串,并比较字符串与其反转后的字符串是否相等,可以有效地判断一个数是否是回文数。在进行C语言编写程序时,需要注意以下几点:1、编写规范:要遵守C语言的编程规范,如变量命名规范、缩进、注释等。编写规范的代码易于维护和理解,且可以提高代码质量。2、内存管理:C语言中...
#c语言编写一个函数同时求圆的周长和面积,用指针怎么写?
include <stdio.h> include <math.h> \/\/ 函数声明 void circle_properties(double r, double *p, double *a);int main(void){ double radius, perimeter, area;\/\/ 输入圆的半径 printf("输入圆的半径: ");scanf("%lf", &radius);\/\/ 计算圆的周长和面积 circle_properties(radius, &...
编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语...
void fun (char s1[],char s2[]){ int i,j;for (i=0;s1[i] !=’\\0’; i++); \/*求出的i为pA字符的总长度,包括结束标记位*\/ for (j=0;s2[j] !=’\\0’; j++)s1[i++]=s2[j]; \/*将pB字符串连在pA字符串的后面*\/ s1[i]='\\0’; \/*在字符串最后加上结束标记符*...
c语言程序设计请编写一个函数fun,它的功能是:将ss所指字符串中所有下...
include <stdio.h> include <string.h> int main(){ int i;char ss[20];printf("请输入字符串:\\n");scanf("%s",ss);for(i=0;i<strlen(ss);i++){ if (i%2!=0){ if(ss[i]>='a')ss[i]=ss[i]-32;} } printf("%s\\n",ss);return 1;} ...
c语言 编写一个函数,来判断一个数是否是回文数。(回文数就是像12321...
代码:int IsEchoNum(int num){ int tmp=0;for(int n=num;n;n\/=10)tmp=tmp*10+n%10;return tmp==num;} int main(int argc,char*argv[]){ int num=12321;printf("%d%d\\n",num,IsEchoNum(num));}
狄怡宁通: #include <stdio.h> void main() {char line[30];int i,count1=0,count2=0,count3=0,count4=0;printf("\n请输入一行字符: ");gets(line);i=0;while(line[i]!='\0'){if(((line[i]>=97) && (line[i]<=122))||((line[i]>=65) && (line[i]<=90))){count1++;}...
成华区13336294693: 一个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]...
成华区13336294693: 【C语言】写一个函数,用选择法对输入的一行字符按照由小到大的顺序排列. - ?
狄怡宁通: #includevoid main() {printf(" 请输入字符串:\n"); char szBuf[512] = {0}; for (int i = 0; i {for (int j = i + 1; j {if (szBuf[j] > szBuf[j+1]){char tmp = szBuf[j];szBuf[j] = szBuf[j+1];szBuf[j+1] = tmp;}}} printf("排序后的字符串:%s\n", szBuf); }
成华区13336294693: c语言编程 写一个函数,输入一行字符,将此字符串中最长的单词输出 - ?
狄怡宁通: 楼上的何必不指出思路啊! 分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在把这个长度的单词弄出来! 在编程之前,首先明确目标,理清思路,从上往下把需要的都写出来,这样长期的积累就能写出好程序了,祝愿楼主学有所成! PS:仅代表个人观点,如有错误,谢谢指出!还有楼主要找的是最长的单词,又不是找到ASC||最大的字母,不住楼上的例题,我有点理解不了,寡闻了吧,我!
成华区13336294693: c语言写一个函数 输入一行字符 将最长单词输出 求编程还有解释 - ?
狄怡宁通: //#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"#include "string.h" int main(void){ char str[500][21]; int n,i,k,ln,lmax; printf("Please enter a line of text('#' end):\n"); for(n=0;;n++)//输入一行单词2113和空格组成5261的...
成华区13336294693: 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++) /*提取字符串中的单词,但是输入时每个单词之间只允许*/ { /*有一个字符如空格,逗号只有句末才能用句号*/...
成华区13336294693: C语言编写函数,从屏幕输入一行字符将所有的大写字母转换为小写字母,所有的小写字母转换为大写字母 - ?
狄怡宁通: #include #include int main() { int i, len; char str[100]; gets(str); len=strlen(str); for (i = 0; iif (isalpha(str[i])) { str[i] ^= 32; } puts(str); return 0; } 其中用到了一个函数isalpha(),作用是判断参数是否为英文字母.当参数为英文字母a-z或A-Z时,返回...
成华区13336294693: 用c语言写一个函数,输入一行字符,将此字符串中最长的单词输出.要有详细解释?
狄怡宁通: #include <iostream> void main() { int word(char c); int longest(char str[]); int i; char str[80]; printf("输入一行字符串\n\n"); gets(str); printf("\n\n最长的单词为:\n\n"); for(i=longest(str);word(str[i]);i++) printf("%c",str[i]); printf("\n"); } int word(...
成华区13336294693: c语言:写一函数,输入一行字符,将此字符串中最长的单词输出 - ?
狄怡宁通: #include<stdio.h> int Transpose(int a[3][3]) { int i,j,t; for(i=0;i<3;i++) for(j=0;j<i;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } printf("after transpose is \n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d",a[i][j]); } printf("\n"); } } void main() { int a[3][3]; int i,j; ...
成华区13336294693: 用c语言编程,编写一个函数,输入一行字符,将字符串中最长的单词输出. - ?
狄怡宁通: 123456789101112131415161718192021 #include <stdio.h> char*longest(char*p){ char*t,max,n; while(*p==' ') p++; for(max=n=0,t=p;*p;p++) if(*p!=' ') n++; else{ if(max<=n) max=n,t=p-n; n=0; } returnmax<=n ? p-n : t; } intmain(void){ charstr[1000],*p;...