从键盘上输入3个字符串后原样输出,并要求找出其中最大者进行输出。(用C语言数组方法谢谢,我是初学者) 用c语言编写一个程序,从键盘上输入3个字符串,输出其中的最大...

作者&投稿:移勇 (若有异议请与网页底部的电邮联系)
#include<stdio.h>
#include<string.h>
main()
{
char x[128][128]={0};
char ch[4096]={0};
int t[10];
int i=0;
int w=0,p=0;
int len=0,max=0,top=0;
gets(ch);
puts(ch);//有空格输入要这个函数
while(ch[i]!='\0' && i<4096)
{
if(ch[i]==' ')
{
w++;
p=0;
i++;
continue;
} //一个空格表示一个单词分隔
else
x[w][p]=ch[i];
p++;
i++;
}
//w 就是单词的个数了
for(int j=0;j<=w;j++)
{
len=strlen(x[j]);
if(max<len)
{
max=len;
top=j;
}
}
i=0;
for( j=0;j<=w;j++)
{
len=strlen(x[j]);
if(max==len)
{
t[i]=j;
i++;
}
}
for(w=0;w<i;w++)
{
printf("%s 最长\n",x[t[w]]);
}

}
希望对你有帮助!网上有几个答案不太完美,因为如果我输入 hello world hi 的话,只输出hello而不输出world,其实稍加改动在下边再加一个循环就可以解决了

C语言编程:从键盘上输入三个字符串,要求找出其中最大者~

字符串比较使用strcmp函数。三个字符串比较大小,先比较字符串a和字符串b的大小,把大的字符串和字符串c比较,最后输出最大的字符串即可。
strcmp函数原型:int strcmp( char *str1 , char *str2 )
功能:比较字符串str1和strl2的大小。
结果:
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1<str2,则返回负数。
参考代码:
#include "stdio.h" #include "string.h" int main() {char a[100],b[100],c[100],max[100];gets(a);gets(b);gets(c);if(strcmp(a,b)>0) strcpy(max,a);else strcpy(max,b);if(strcmp(max,c)<0) strcpy(max,c);printf("最大字符串为:"); puts(max);return 0;}/*运行结果:qwerdfhfgzcxvcxb最大字符串为:zcxvcxb*/

1. int strcmp( const char *str1, const char *str2 );
功能:比较字符串str1 and str2, 返回值如下:

返回值
< 0 str1 < str2
= 0 str1 == str2
> 0 str1 > str2

#include #include int main(){ char a[100], b[100], c[100]; printf("input 3 string :
"); gets(a); gets(b); gets(c); char* p = strcmp(a, b) >= 0 ? a : b; printf("greater string :%s
", strcmp(p, c) >= 0 ? p : c); return 0;}

三个字符排序。输出三个字符,然后按从小到大的顺序输出这三个字符...
答:include "stdio.h"int main(void){ char ch1,ch2,ch3,t; printf("Input 3 characters(separated by ' ',### end)...\n"); while(scanf(" %c %c %c",&ch1,&ch2,&ch3)){ if(ch1=='#' && ch2=='#' && ch3=='#') break; if(ch1>ch2) t=ch1,ch1=...

C语言:输入三个字符串,按由小到大的顺序输出
答:if(strcmp(*p2,*p3)>0) swap(p2,p3);} int main(){ char a[100],b[100],c[100],* p1,* p2,* p3;gets(a);gets(b);gets(c);p1=a;p2=b;p3=c;// 用指针的指针才能改变原始指针内容,不然只是复制了指针内容到exchange中,// 带不出修改后的结果到主函数中。exchange(&p1,&p2...

输入3个字符串,按由小到大的顺序输出。(用指针方法处理)
答:include<stdio.h> include<string.h> int main(){ char str1[10],str2[20],str0[10];printf("please input 3 strings");gets(str1);gets(str2);gets(str0);if(strcmp(str1,str2)>0)swap(str1,str2);/*字符串比较函数*/ if(strcmp(str2,str0)>0)swap(str2,str0);if(strcmp(...

在C++环境下如何输入3个字符串,按由大到小的顺序输出
答:include<string.h> include<iostream.h> void main(){ int i,j;string a[3],temp;for(i=0;i<3;i++)cin>>a[i];for(i=0;i<2;i++)for(j=i;j<2;j++)if(a[j].length<a[j+1].length){ temp=a[j];a[j]=a[j+1];a[j+1]=temp;} for(i=0;i<3;i++)cout<<a...

谁能帮帮我用C语言编出"输入三个字符串按英文字母顺序排列后输出"
答:MM~~哦`~~~哥哥来帮你做啊---还有没有什么特别的要求,比如大小写什么的---如果前面相等,一个长一个短又怎么算呢?--- dadalili 有没有搞错,就你那三角猫的功夫还跟我挣~~~我已经发现你好几次了哈 人家要的是字符串比较不是字符比较。~~无视你~~...

从键盘输入3个可带空格的字符串(约定:字符数≤127字节),输出最大的...
答:} int main() { char s1[128],s2[128],s3[128];printf("Please input the first string:\t");gets(s1);printf("Please input the second string:\t");gets(s2);printf("Please input the third string:\t");gets(s3);printf("\n最大字符串是:%s\n",max(max(s1,s2),s3));retu...

要求:从键盘上输入3个字符串,从大到小排序进行输出.利用拷贝函数和比较...
答:include <iostream>#include <string>using namespace std; // 添加命名空间引用 int main() // 主函数和大括号的位置对调一下 { char str1[6], str2[6], str3[6], temp[6]; cout<<"Please input 3 strings:"<<endl; cin>>str1>>str2>>str3; if( strcmp(str1,...

C语言,在C++环境下运行“输入3个字符串,按由小到大的顺序输出”用指针的...
答:printf("输入三个字符串:\n");gets(s1);gets(s2);gets(s3);if(strcmp(s1,s2)>0){ strcpy(s,s1);strcpy(s1,s2);strcpy(s2,s);} if(strcmp(s1,s3)>0){ strcpy(s,s1);strcpy(s1,s3);strcpy(s3,s);} if(strcmp(s2,s3)>0){ strcpy(s,s2);strcpy(s2,s3);strcpy(s3,s);}...

输入三个字符串,按从小到大顺序输出 出了问题
答:("%s",&y); b=&y;printf ("请输入字符串3\n");scanf ("%s",&z);c=&z;max (a,b);max (b,c);max (a,c);printf("处理后:\n%c\n%c\n%c\n",*a,*b,*c);} 这是修改后的,不过你这个算法有点问题,并不能实现你所说的 max (a,c);应改为max (a,b);比较合适 ...

从键盘输入3个可带空格的字符串(约定:字符数≤127字节),输出长度最...
答:int main(void){ char str1[128], str2[128], str3[128], tmp[128];printf("Please input the first string:\t");gets(str1);printf("Please input the second string:\t");gets(str2);printf("Please input the third string:\t");gets(str3);printf("\n最大字符串是:");if ...