指针冒泡排序c语言代码,用指针编写冒泡排序方法
滿意答案
ha141988
2013.05.26
采納率:44%????等級(jí):13
已幫助:10095人
需要修改三個(gè)地方:(確保程序正常運(yùn)行)
1.scanf("%d",*ptr);改為scanf("%d",ptr);
因?yàn)閜tr本身就是指針,*ptr是內(nèi)容,不對(duì);scanf函數(shù)的第二個(gè)參數(shù)應(yīng)該是指針(也可以是地址)
2.第一個(gè)for循環(huán),就是在scanf的那個(gè)循環(huán)體完后加上ptr=&num[0];
如果不加上你的ptr就指向一塊未知的內(nèi)存,那么你下面的for循環(huán)操作將出錯(cuò)
3.在printf("冒泡完了為:\n"); 語(yǔ)句后加上ptr=&num[0];
道理同上
還需修改的一個(gè)地方,就是你的算法不對(duì),你這個(gè)根本不是什么冒泡算法,請(qǐng)你自己修正吧;這里就不幫你修改了!!!
修改后的程序如下:
#include
#define N 5
void main()
{
int *ptr,num[N],i,temp;
ptr=&num[0];
printf("請(qǐng)輸入5個(gè)數(shù)字:");
for(i=0;i
{
scanf("%d",ptr); //修改錯(cuò)誤
ptr++;
}
ptr=&num[0];//修改錯(cuò)誤
for(i=0;i
{
if(*ptr
{
temp=*(ptr+1);
*(ptr+1)=*ptr;
*ptr=temp;
ptr++;
}
}
ptr=&num[0];//修改錯(cuò)誤
printf("冒泡完了為:\n");
for(i=0;i
{
printf("%d",*ptr);
ptr++;
printf("\n");
}
}
10分享舉報(bào)
總結(jié)
以上是生活随笔為你收集整理的指针冒泡排序c语言代码,用指针编写冒泡排序方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中0xde 这怎么用,为什么使用0
- 下一篇: c语言微信昵称大全女生优雅经典的,微信昵