用c语言编写一个程序,从键盘上输入3个字符串,输出其中的最大者

作者&投稿:胥凤 (若有异议请与网页底部的电邮联系)
编写一个C++程序,从键盘输入3个字符串,在屏幕上输出其中最大者。~

#include
#include
using namespace std;
string comp (string &s1, string &s2);
int main()
{
string s1, s2, s3, s4;
cout << "请输入第一个字符串:" <<endl;
cin >> s1;
cout << "请输入第二个字符串" <<endl;
cin >> s2;
cout << "请输入第三个字符串" <<endl;
cin >> s3;
s4 = comp(comp(s1,s2), s3);
cout << "最大的字符串为: "<< s4 <<endl;
return 0;
}
string comp (string &s1, string &s2)
{
if (s1 >= s2)
return s1;
else
return s2;
}

#include
#include
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 最长
",x[t[w]]);
}

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

1. int strcmp( const char *str1, const char *str2 );

功能:比较字符串str1 and str2, 返回值如下:

返回值

< 0    str1 < str2

= 0    str1 == str2

> 0    str1 > str2

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

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>
#include <string.h>

#define LONGTH 10 //定义字符串最大长度
void main()
{
char a[LONGTH],b[LONGTH],c[LONGTH];
char *max;
printf("请输入三个字符串,以空格隔开:");
scanf("%s %s %s",a,b,c);
printf("输入的三个字符串为:\n");
printf("a=%s\n",a);
printf("b=%s\n",b);
printf("c=%s\n",c);
max=a;
if(strcmp(max,b)<0) max=b;
if(strcmp(max,b)<0) max=c;
printf("\nmax=%s\n",max);
}
我以前写的,可以运行,希望有帮助

#include "stdio.h"
void main()
{int a,b,c,max;
printf("请输入三个数字:");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b) max=b;
if(max<c)max=c;
printf("max=%d\n",max);
}

一楼的稍微修改一下就行了。
#include <stdio.h>
#include <string.h>
#define MAXLEN 1024
#define NUM 3
int main(int argc,char **argv)
{
char arr[NUM][MAXLEN];
char maxChar[MAXLEN];
memset(maxChar,0,MAXLEN);
int iCount=0;
for (iCount=0;iCount<NUM;iCount++)
memset(arr[iCount],0,MAXLEN);
for (iCount=0;iCount<NUM;iCount++)
{
printf("Input strings:");
scanf("%s",arr[iCount]);
}
strcpy(maxChar,arr[0]);
for (iCount=0;iCount<NUM;iCount++)
{
if(strcmp(maxChar,arr[iCount])<0) strcpy(maxChar,arr[iCount]);
}
printf("%s\n",maxChar);
return 0;
}

C:\>gcc -g test.c -o test

C:\>test
Input strings:abcd
Input strings:acdd
Input strings:btest
btest

C:\>

C语言:请编写一个程序,从键盘读入两个整数a和n,计算并输出a+aa+aaa+...
答:{int i,j,a,n,k=0,out=0;printf("请输入a与n:");scanf("%d %d",&a,&n);for(i=0;i<n;i++){ for(j=0;j<=i;j++){ k=k*10+a;} out+=k;k=0;} printf("the result is:%d\n",out);} 或者用楼上的公式 include <stdio.h> void main(){int i,a,n,k=1,out;...

如何用c语言编写一个程序,实现按从大到小的顺序排序输出10个数
答:用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:include<stdio.h> int main(){ int i,j,a[10],t;printf("输入数");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...

C语言编写程序,把从键盘输入的一个字符串的小写字母转换成大写字母,大 ...
答:include "stdio.h"int main(){ char ch[100]={0};int i;printf("请输入一个字符串:");gets(ch);for(i=0;ch[i]!='\0';i++)if(ch[i]>='a' && ch[i]<='z')ch[i]+='A'-'a';else if(ch[i]>='A' && ch[i]<='Z')ch[i]+='a'-'A';printf("字符串的小写...

编写一个程序,从键盘输入10个整数,再输入1个数,如果该数在数组中,从...
答:2013-01-05 c语言 .从键盘输入10个整数,存到一维数组中,并求这10个... 5 2013-04-20 请编写一个程序,要求从键盘输入10个整数存入一个数组,然后输... 2017-06-21 编写一个程序,要求从键盘输入10个整数存入一维数组,将它们按... 1 2015-01-08 用c语言编写一个程序,从键盘输入10个整数存入a数组,...

用C语言编程序,由键盘输入五个数后按从高到低排列,再去掉一个最高一个...
答:printf("请输入第%d个数 : ",i + 1);scanf("%d",&a[i]);sum = sum + a[i];} printf("\n");select_sort(a,MAXlen);printf("\n排序后:\n");for(i = 0 ; i < MAXlen ; i++) { if(i % 10 == 0) printf("%\n");printf("%5d",a[i]);} printf("\n\n去掉...

c语言编程。从键盘输入一个大写字母,要求改用小写字母输出。_百度知 ...
答:代码如下:include<stdio.h>int main(){char a; printf("请输入一个大写英语字母:");scanf("%c",&a);printf("转换成小写字母为%c",a+32);} 运行结果如下:

编写一个程序,从键盘输入10个浮点数,算出这10个浮点数的和以及平均值...
答:include<stdio.h> int main(void){ double a[10];double sum,average;sum=average=0;int i;printf("请输入10个浮点数:\n");for(i=0;i<10;i++){ scanf("%lf",&a[i]);} for(i=0;i<10;i++){ sum=sum+a[i];} average=sum/10;printf("这10个浮点数的和以及平均值分别为:\...

从键盘输入一个字符,输出这个字符的前一个字符和后一个字符
答:用c语言编写,从键盘输入一个字符,输出这个字符的前一个字符和后一个字符,可以用以下的代码:include <stdio.h> int main(){ char c; //定义一个字符变量 printf("请输入一个字符:\n"); //提示用户输入 scanf("%c", &c); //从键盘读取一个字符 printf("这个字符的前一个字符是:%c...

1、用C语言编写一个程序计算自己的期末考试成绩的总分。(要求各科成 ...
答:include<stdio.h> int main(){ int n,i,s=0,x;printf("考了几门功课?\n");scanf("%d",&n);printf("请输入%d门功课的成绩: \n");for(i=0; i<n; i++){ scanf("%d",&x);s+=x;} printf("总分是:%d\n",s);return 0;} ...

求大神帮忙,编写一个C语言程序,从键盘输入两个整数,输出这两个数之和...
答:include<iostream> intmain(){ usingnamespacestd;inta,b;cout<<"Pleaseenterthetwonumber:\n";cin>>a>>b;doublesum=((double)(a+b)/2*(b-a+1));cout<<sum<<endl;return0;}