error C2146: 语法错误 : 缺少“;”(在标识符“sort”的前面) “int ” : 此处遇到意外的存储类或类型说

#include<iostream>usingnamespacestd;intShun_zi(inta[],intnLen);//判定是否有顺子intsort(intm[... #include <iostream>
using namespace std;

int Shun_zi(int a[],int nLen); //判定是否有顺子
int sort(int m[],int nLen); //扑克牌数排序
int print(int b[],int nLen); //输出全部扑克牌数
int canf(int n[],int nLen); //输入扑克牌数
int judge(int x[],int nLen); //判定输入的扑克牌数是否合理
int Csame(int a[],int i,int j); //输出大于5个数的顺子
int merger(int a[],int nLen); //判定是否有相同的数,有就合并相同数

int main()
{
int y[10];
cout<<"请输入10个数"<<endl;
canf(y, 10);
cout<<"输入的数字为"<<endl;
print(y,10);
judge(y,10); //判断是否为扑克牌数
sort(y,10); //从小到大排序
cout<<"排序后的数为**************************"<<endl;
print(y,10);
if(Shun_zi(y,10)==0)
{
cout<<"没有顺子"<<endl;
}
return 0;
}

int Shun_zi(int a[], int nLen)
{
if(a==NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int m=0;
nLen=merger(a,nLen);
for(int i=0;i<nLen-1;i++)
{
if (a[i]+1==a[i+1]&&a[i+1]+1==a[i+2]&&a[i+2]+1==a[i+3]&&a[i+3]+1==a[i+4])
{
cout<<a[i]<<" "<<a[i+1]<<" "<<a[i+2]<<" "<<a[i+3]<<" "<<a[i+4]<<" ";
m++;
}
for (int j=i+4;;j++)
{
if (a[j]+1==a[j+1])
{
cout<<a[j+1]<<" ";
}
else
{
cout<<endl;
break;
}
}

Csame(a,i,j);
}

return m;
}
int Csame(int a[],int i,int j)
{
if(a==NULL)
{
return 0;
}

int m=0;
if (j-i>4)
{
for (m=i;m<j;m++)
{
cout<<a[m]<<" ";
}
j--;
cout<<endl;
Csame(a,i,j);
}
return 0;
}

int merger(int a[],int nLen) //判定是否有相同的数,有就合并相同数
{
int j=0;
int i=0;
for(i=0;i<nLen-1;i++)
{
if(a[i]==a[i+1]) //若遇到相同的数,则此后的数全部向前移动覆盖
{
for(j=i;j<nLen-1;j++)
{
a[j]=a[j+1];
}
nLen--; //长度减一
i--; // i减一回到原来那个数继续判定
}
}
return nLen;
}

int sort(int m[],int nLen)
{
if(m == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int i=0;
int j=0;
int temp=0;
for (i=0;i<nLen-1;i++)
{
for(j=i+1;j<nLen;j++)
{
if (m[i]>m[j])
{
temp=m[i];
m[i]=m[j];
m[j]=temp;
}

}
}
return 0;
}

int print(int b[],int nLen)
{
if(b == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int i=0;
for(i=0;i<nLen;i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
return 0;
}

int canf(int n[],int nLen)
{
for(int i=0;i<nLen;i++)
{
cin>>n[i];
}
return 0;
}

int judge(int x[],int nLen)
{
if(x == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int max=0;
int min=0;
int k=0;
for (k=0;k<nLen;k++)
{
if (max<x[k])
{
max=x[k];
}
if (min>x[k])
{
min=x[k];
}
}
if (max-min>13)
{
cout<<"不是扑克牌数"<<endl;
}
else
{
cout<<"是扑克牌数"<<endl;

}

return 0;
} 帮忙看下我的代码,为什么会出现这2个错误!
展开
 我来答
匿名用户
2011-04-20
展开全部
onSorter
{
private int min;
public void Sort(int[] arr)
{
for (int i = 0; i < arr.Length - 1; ++i)
{
min = i;
for (int j = i + 1; j < arr.Length; ++j)
{
if (arr[j] < arr[min])
min = j;
}
int t = arr[min];
arr[min] = arr[i];
arr[i] = t;
}
}
static void Main(string[] args)
{
int[] array = new int[] ;
SelectionSorter s = new SelectionSorter();
s.Sort(array);
foreach (int m in array)
Console.WriteLine("", m);
}
}
//冒泡排序
class EbullitionSorter
{
public void Sort(int[] arr)
{
int i, j, temp;
bool done = false;
j = 1;
while ((j < arr.Length) && (!done))//判断长度
{
done = true;
for (i = 0; i < arr.Length - j; i++)
{
if (arr[i] > arr[i + 1])
{
done = false;
temp = arr[i];
arr[i] = arr[i + 1];//交换数据
arr[i + 1] = temp;
}
}
j++;
}
}

static void Main(string[] args)
{
int[] array = new int[] ;
EbullitionSorter e = new EbullitionSorter ();
e.Sort(array);
foreach (int m in array)
Console.WriteLine("", m);

}
}
//快速排序
class QuickSorter
{
private void swap(ref int l, ref int r)
{
int temp;
temp = l;
l = r;
r = temp;
}
public void Sort(int[] list, int low, int high)
{
int pivot;//存储分支点
int l, r;
int mid;
if (high <= low)
return;
else if (high == low + 1)
{
if (list[low] > list[high])
swap(ref list[low], ref list[high]);
return;
}
mid = (low + high) >> 1;
pivot = list[mid];
swap(ref list[low], ref list[mid]);
l = low + 1;
r = high;
do
{
while (l <= r && list[l] < pivot)
l++;
while (list[r] >= pivot)
r--;
if (l < r)
swap(ref list[l], ref list[r]);
} while (l < r);
list[low] = list[r];
list[r] = pivot;
if (low + 1 < r)
Sort(list, low, r - 1);
if (r + 1 < high)
Sort(list, r + 1, high);
}

static void Main(string[] args)
{
int[] iArrary = new int[] ;
QuickSorter q = new QuickSorter();
q.Sort(iArrary, 0, 13);
for (int m = 0; m <= 13; m++)
Console.WriteLine("", iArrary[m]);
}
}
//插入排序
public class InsertionSorter
{
public void Sort(int[] arr)
{
for (int i = 1; i < arr.Length; i++)
{
int t = arr[i];
int j = i;
while ((j > 0) && (arr[j - 1] > t))
{
arr[j] = arr[j - 1];//交换顺序
--j;
}
arr[j] = t;
}
}
static void Main(string[] args)
{
int[] array = new int[] ;
InsertionSorter i = new InsertionSorter();
i.Sort(array);
foreach (int m in array)
Console.WriteLine("", m);
}
}
//希尔排序
public class ShellSorter
{
public void Sort(int[] arr)
{
int inc;
for (inc = 1; inc <= arr.Length / 9; inc = 3 * inc + 1) ;
for (; inc > 0; inc /= 3)
{
for (int i = inc + 1; i <= arr.Length; i += inc)
{
int t = arr[i - 1];
int j = i;
while ((j > inc) && (arr[j - inc - 1] > t))
{
arr[j - 1] = arr[j - inc - 1];//交换数据
j -= inc;
}
arr[j - 1] = t;
}
}
}

static void Main(string[] args)
{
int[] array = new int[] ;
ShellSorter s = new ShellSorter();
s.Sort(array);
foreach (int m in array)
Console.WriteLine("", m);

}
}
看你要什么排序吧~都可以直接运行
另外,团IDC网上有许多产品团购,便宜有口碑
帅得有点坏
推荐于2016-05-07 · TA获得超过1149个赞
知道小有建树答主
回答量:463
采纳率:0%
帮助的人:477万
展开全部
#include <iostream>
using namespace std;

int Shun_zi(int a[],int nLen); //我自己写的顺子函数。你看看
int sort(int m[],int nLen); //扑克牌数排序
int print(int b[],int nLen); //输出全部扑克牌数
int canf(int n[],int nLen); //输入扑克牌数
int judge(int x[],int nLen); //判定输入的扑克牌数是否合理
int Csame(int a[],int start,int result) ; //输出大于拦团5个数的顺子
//int merger(int a[],int nLen); //没有必要。已删除。

int Start=0;
int main()
{
int y[10]={6,5,3,4,3,8,4,8,9,2};
cout<<"请输入10个数"<<endl;
//canf(y, 10);
cout<<"输入的数字为"<<endl;
print(y,10);
judge(y,10); //判断是否为扑克牌数
sort(y,10); //从小到大排序
cout<<"排序后的数为"<<endl;
print(y,10);
if(Shun_zi(y,10)<5)
{
cout<<"没有顺子"<<endl;
}
else
{
Csame(y,Start,Shun_zi(y,10));
}
cout<<Shun_zi(y,10);
return 0;
}

int Shun_zi(int a[],int nlen)
{

if(nlen==0)return 0;
if(nlen==1)return 1;
int tmp=0,result=0,start=0,cur=0;
for(int i=1;i<nlen;i++)
{
if(a[i]==a[i-1]+1)
{
tmp++;
}
else
{
if(a[i]==a[i-1])
{
continue;
}
else
{
if(tmp>result)
{
start=cur;
result=tmp;
}
tmp=0;
cur=i;
}
}
}
Start=start;
return result+1;
}
int Csame(int a[],int start,int result)
{
if(a==NULL)
{
return 0;
}
if (result>4)
{
cout<<a[start]<<" ";
for (int i=1;i<result;i++)
{
if(a[start+i]!=a[start+i-1])
cout<<a[start+i]<<" ";
else
{
result++;//遇到重复往前终点移动一些
}
}
cout<<endl;
}
return 0;
}

int sort(int m[],int nLen)
{
if(m == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int i=0;
int j=0;
int temp=0;
for (i=0;i<nLen-1;i++)
{
for(j=i+1;j<nLen;j++)
{
if (m[i]>m[j])
{
temp=m[i];
m[i]=m[j];
m[j]=temp;
}

}
}
return 0;
}

int print(int b[],int nLen)
{
if(b == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int i=0;
for(i=0;i<nLen;i++)
{
cout<<b[i]<<" "简耐橘亩羡;
}
cout<<endl;
return 0;
}

int canf(int n[],int nLen)
{
for(int i=0;i<nLen;i++)
{
cin>>n[i];
}
return 0;
}

int judge(int x[],int nLen)
{
if(x == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int max=0;
int min=0;
int k=0;
for (k=0;k<nLen;k++)
{
if (max<x[k])
{
max=x[k];
}
if (min>x[k])
{
min=x[k];
}
}
if (max-min>13)
{
cout<<"不是扑克牌数"<<endl;
}
else
{
cout<<"是扑克牌数"<<endl;

}

return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敛正雅7f
2011-04-18 · TA获得超过2031个赞
知道大有可为答主
回答量:1553
采纳率:0%
帮助的人:1757万
展开全部
vc6.0上可以跑,没有错。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式