首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C程序求指导解决办法

2012-04-16 
C程序求指导已知从一个已经从小到大排列好的数组,说这个数组中的一个平台,就是连续的一串值相同的元素,并

C程序求指导
已知从一个已经从小到大排列好的数组,说这个数组中的一个平台,就是连续的一串值相同的元素,并且这一串元素不能再延伸。试编写一个程序,接受这个数组,把这个数组中最长的平台找出来。
程序如下:
  int longest_plateau(int x[],int n)
  {
int length=1;
int i;
for(i=1;i<n;i++)
if(x[i]==x[i-length])
length++;
return 0;
  }
问题是:改写程序,指出最长平台位置。

[解决办法]

C/C++ code
int longest_plateau(int x[],int n){    int length=1;    int result = length;    for(int i=1;i<n;i++)    {        if(x[i]==x[i-1])            result = (++length);        else            length = 1;    }    return result;}
[解决办法]
C/C++ code
//上面的错了int longest_plateau(int x[],int n){    int length=1;    int result = length;    for(int i=1;i<n;i++)    {        if(x[i]==x[i-1])        {            ++length;            result = (length>result?length:result);        }        else            length = 1;    }    return result;}
[解决办法]
C/C++ code
int longest_plateau(int x[],int n){    int length=1, result=0;    int i;    for(i=1;i<n;i++)    {        if(x[i]==x[i-length])            length++;        else            length = 1;        if(result < length)            result = length;    }    return result;}
[解决办法]
int longest_plateau(int x[],int n)
{
int length=1;
int result=0;
int i;
for(i=1;i<n;i++)
{
if(x[i]==x[i-1])
length++;
else
length=1;
if(result < length)
result = length;
}
return result;
}

[解决办法]
探讨
C/C++ code

//上面的错了
int longest_plateau(int x[],int n)
{
int length=1;
int result = length;
for(int i=1;i<n;i++)
{
if(x[i]==x[i-1])
{
++length;
……

[解决办法]
探讨

C/C++ code

int longest_plateau(int x[],int n)
{
int length=1, result=0;
int i;
for(i=1;i<n;i++)
{
if(x[i]==x[i-length])
length++;
else
length……

热点排行