error C2146: 语法错误 : 缺少“;”(在标识符“sort”的前面) “int ” : 此处遇到意外的存储类或类型说
我来说下我的解决方案,首先我也和你出现了一样的问题
我的解决方法是点开错误项,指向这个类
我右键找到这个类的定义:
发现自己多包涵了一个头文件:将这个头文件注销掉或者删除:
编译成功
问题出在printf("doing it wrong.
");这一句的)被写成了中文的,编译器不识别,改成英文的)就可以了。
修改后:
#include
int main(void)
{
int ten=10,two=2;
printf("doing it right
");
printf("%d minus %d is %d.
",ten,2,ten-two);
printf("doing it wrong.
");
printf("%d minus %d is %d.
",ten);
return 0;
}
扩展资料:
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
浮点变量类型
浮点变量也称实数变量,用于需要精确到小数的函数运算中,有float和double两种类型说明符。
1、float类型。
float类型是一个位数为32位的单精度浮点数。它具有运行速度较快,占用空间较少的特点。
2、double类型。
double类型是一个位数为64的双精度浮点数。双精度数在某些具有优化和高速运算能力的现代处理机上运算比单精度数快。双精度类型double比单精度类型float具有更高的精度和更大表示范围,常常使用。
参考资料来源:百度百科-C++
{
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网上有许多产品团购,便宜有口碑
#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;
}
vc6.0上可以跑,没有错。。。
镡贤阿斯: cout<else(s<39) cout<} 改为 cout<else cout<break;
五营区19495971713: c++中error C2146: syntax error : missing ';' before identifier 'internal' - ?
镡贤阿斯: 语法错误:变量internal前面少一个分号 你双击这句话,他会提示你哪里少一个分号的,双击后代码区会有一个箭头提示,你改一下就好了
五营区19495971713: error C2146: 语法错误 : 缺少";"(在标识符"m - ingBorder"的前面) - ?
镡贤阿斯: 可能是没有引用关于CImag的头文件
五营区19495971713: error C2146: 语法错误 : 缺少“)”(在标识符“,img2”的前面) - ?
镡贤阿斯: 贴代码吧,可能你程序里缺少了“)”
五营区19495971713: c语言编译时提醒错误 C2146,这个2146是什么意思了 - ?
镡贤阿斯: 是一个编译错误的编号.比如在VC中这个错误编号表示标识符(变量名或者函数名)前缺少必要的东西.Compiler Error C2146syntax error : missing 'token' bef...
五营区19495971713: D:\01\01.cpp(17) : error C2146: syntax error : missing ')' before identifier 'tax' - ?
镡贤阿斯: 错误c2146:语法错误:标识符tax之前少了).检查一下17行tax之前是不是少了个右括号.
五营区19495971713: VS2008 error C2146: 语法错误 : 缺少 ; (在标识符 first 的前面) - ?
镡贤阿斯: first类型声明未定义,一般是未include头文件
五营区19495971713: D:\c语言\pi.cpp(9) : error C2146: syntax error : missing ';' before identifier 'printf'什么意思 - ?
镡贤阿斯: 自己去查字典吧,你会经常碰到这样的错误的 语法错误:在printf前面缺少';'
五营区19495971713: 程序出现错误error C2146: syntax error : missing ';' before identifier 'main' - ?
镡贤阿斯: 第二行末缺分号 int isprime(int);
五营区19495971713: vs2010 sql2008 msjro.tlh(196): error C2146: 语法错误: 缺少“;” - ?
镡贤阿斯: 先把这两个问题改了试试:>\msjro.tlh(196): error C2146: 语法错误: 缺少“;”(在标识符“ConflictTables”的前面)1>\msjro.tli(111): error C2143: 语法错误 : 缺少“;”(在“IReplica::GetConflictTables”的前面)