用C++编程:从键盘输入10个字符串,找出其中最大者并输出.

#include<iostream>#include<cmath>usingnamespacestd;voidmax(chara[][80],charb[]){intm,... #include <iostream>
#include <cmath>
using namespace std;
void max (char a[][80], char b[])
{
int m, n, k, i, j = 0;
for (n = 0;n < 80;n++)
{
b[n] = a[0][n];
}
for (i = 1;i < 10;i++)
{
while (a[i][j]==b[j]&&b[j]!='\0')
{
j=j+1;
}
m=b[j]-a[i][j];
if(m>0)
{
for (k = 0;k < 80;k++)
b[k]=a[i][k];
}
}
}
int main()
{
cout << "请输入十个字符串" << endl;
char a[10][80];
char b[80];
int i;
for (i = 0;i < 10;i++ )
{
cin >> a[i];
}
max (a,b);
cout << "最大者为:" << b <<endl;
return 0;
}
上面是我编写的程序,可是运行结果是错的,哪位大神可以帮我修改一下,万分感谢
展开
 我来答
听不清啊
高粉答主

2013-10-20 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
#include <iostream>
#include <cmath>
using namespace std;
void max (char a[][80], char b[])
{
int m, n, k, i, j = 0;
for (n = 0;n < 80;n++)
{
b[n] = a[0][n];
}
for (i = 1;i < 10;i++)
{
while (a[i][j]==b[j]&&b[j]!='\0')
{
j=j+1;
}
m=b[j]-a[i][j];
if(m<0) //这里改了
{
for (k = 0;k < 80;k++)
b[k]=a[i][k];
}
}
}
int main()
{
cout << "请输入十个字符串" << endl;
char a[10][80];
char b[80];
int i;
for (i = 0;i < 10;i++ )
{
cin >> a[i];
}
max (a,b);
cout << "最大者为:" << b <<endl;
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式