新手请教
中点为对称点,交换数字:有什么错误!此种算法如何修改?
main()
{int a[10]={3,7,9,11,0,6,7,5,4,2},*p,*q,ch;
for(p=q=a[0];*q;q++);
q--;
while(p<q){ch=*p;*p=*q;*q=ch;p++;p--;}
printf("a=%d\n",a);
}
中点为对称点,交换数字:有什么错误!此种算法如何修改?
main()
{int a[10]={3,7,9,11,0,6,7,5,4,2},*p,*q,ch;
for(p=q=a[0];*q;q++);
q--;
while(p<q){ch=*p;*p=*q;*q=ch;p++;p--;}
printf("a=%d\n",a);
}
我把 a[0]改成 a 呢?
这是一道例题不过原来换的是字符!
q;*q=ch;p++;p--;}--->q;*q=ch;p++;q--;}
main()
{char a[]="1234567890",*p,*q,ch;
for(p=q=a;*q;q++);//int 不能这样用 ,
q--; printf("\na=%s\n",a); while(p<q){ch=*p;*p=*q;*q=ch;p++;q--;}
printf("\na=%s\n",a); getch(); }
哦,看了knocker的程序才明白。你原来想求的是这个啊,就是把0前面的和0后面的交换位置吧~晕死,这个和中点有什么关系啊~害我以为是对称点呢
字符按照 knocker的算法就对啦