请帮我看看什么地方错了

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:09:46
我的题目的意思是用指针实现插入排序,很简单,对不起,是今天之内,假如准时,我再加30分,不准时就不加了
#include<stdio.h>
void main ()
{ a[]=(12,23,1,52,22,56,10),*p,*i,*j,t,n,m=1;
p=a;
for(i=a+2;i<a+7;i++)
for(j=a;j<i;j++)
if((*i-*a)*(*i-*(a+1))<0)
{ t=*i;
for(n=i;n>=a;n--)
*n=*(n-1);
*j=t;
}
else
if((*i-*j)*(*i-*(j-1))<0)
{ t=*i;
for(n=i;n>=j;n--)
*n=*(n-1);
*j=t;
}

}

#include<stdio.h>
void main ()
{ int a[]={12,23,1,52,22,56,10},*p,*i,*j,t,*n,m=1;
p=a;
for(i=a+2;i<a+7;i++)
for(j=a;j<i;j++)

{
if((*i-*p)*(*i-*(p+1))<0)
{ t=*i;
for(n=i;n>=a;n--)
*n=*(n-1);
*j=t;
}
else if((*i-*j)*(*i-*(j-1))<0)
{ t=*i;
for(n=i;n>=j;n--)
*n=*(n-1);
*j=t;
}
}
getchar();
}
你对照着看一下,我只是做了一下语法上的修改,能够编译运行了,你这个程序的确写的很乱,很难让人看懂!
写程序要注意简洁,开始写程序的时候不要光光地用指针,从基本程序开始!

if((*i-*j)*(*i-*(j-1))<0)
{ t=*i;
for(n=i;n>=j;n--)
这里错了

编程还是放弃了

看你的代码错误不少...
定义变量不加类型限制都有,汗个先....

给你随手写了个,没什么技术含量,也没怎么检测,大概没多大问题...
#include<stdio.h>

void insert_sort(int *ptr_int, int ptr_len) {
int i, j;
int tmp;
for (i=1; i<ptr_len; ++i) {
if (ptr_int[i] < ptr_int[i-1]