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

大神们见见这是什么原因

2013-03-14 
大神们看看这是什么原因#include stdio.h#include stdlib.h#include math.h#include limits.hint

大神们看看这是什么原因

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
int MERGE_SORT(int* pt,int p,int r);
void MERGE(int* ptr,int p,int q,int r);
void main()
{   
int i=0;
int a[]={3,1,4,6,2,9,8,6};

MERGE_SORT(a,0,7);
/*输出数组*/
while(i<=7)
printf("%d",a[i++]);
}
int MERGE_SORT(int* pt,int p,int r)
{
   int q=floor((p+r)/2);
   if(p=r) return 0;
   if(p<r)
{  
MERGE_SORT(pt,p,q);
MERGE_SORT(pt,q+1,r);
}
MERGE(pt,p,q,r);

}
void MERGE(int* ptr,int p,int q,int r)
{
   int n1=q-p+1;
   int n2=r-q;
   int *L,*R;
   int i,j;
   for(i=1;i<n1;i++)
   {L[i]=ptr[p+i-1];}
   for(j=1;j<n2;i++)
   {R[j]=ptr[q+j];}
   L[n1+1]=344;
   R[n2+1]=344;
   int i=1;
   int j=1;
   int k=0;
   for(k=p;k<r;k++)
   {
      if(L[i]<=R[i])
  {ptr[k]=L[i];i=i+1;}
  else {ptr[k]=R[i];j=j+1;}
   }
}

调试后输出如下:该怎么改呢?3Q~
1>f:\visual studio\6.1\6.1\1.c(19): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
1>f:\visual studio\6.1\6.1\1.c(41): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>f:\visual studio\6.1\6.1\1.c(42): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>f:\visual studio\6.1\6.1\1.c(43): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>f:\visual studio\6.1\6.1\1.c(44): error C2065: “k”: 未声明的标识符
1>f:\visual studio\6.1\6.1\1.c(44): error C2065: “k”: 未声明的标识符
1>f:\visual studio\6.1\6.1\1.c(44): error C2065: “k”: 未声明的标识符
1>f:\visual studio\6.1\6.1\1.c(47): error C2065: “k”: 未声明的标识符
1>f:\visual studio\6.1\6.1\1.c(48): error C2065: “k”: 未声明的标识符
1>
1>生成失败。
[解决办法]
1. 重复定义。
2. C语言中变量声明要放在代码块头部。

热点排行