早教吧作业答案频道 -->其他-->
C语言冒泡排序法,疑问啊~~~~~~~~~~~~~~~~~#include<stdio.h>#defineN15main(){int*p[N],a[N],i,j,*temp;for(i=0;i<=N-1;i++){scanf("%d",&a[i]);p[i]=&a[i];}for(i=1;i<=N-1;i++){for(j=0;j<=N-1-i;j++)if(a[j]>a[j+1
题目详情
C语言冒泡排序法,疑问啊~~~~~~~~~~~~~~~~~#include<stdio.h> #defineN15 main() {int*p[N],a[N],i,j,*temp; for(i=0;i<=N-1;i++) {scanf("%d",&a[i]); p[i]=&a[i]; } for(i=1;i<=N-1;i++) { for(j=0;j<=N-1-i;j++) if(a[j]>a[j+1]) {temp=p[j]; p[j]=p[j+1]; p[j+1]=temp; } } printf("\n"); for(i=0;i<=N-1;i++) {printf("%d",*p[i]); printf("a[%d]=%d\n",i+1,a[i]); } } 这一段代码为什么不能实现排序?是指针有问题吗,还是其他方面的?
▼优质解答
答案和解析
{int*p,a[N],i,j,temp; for(i=0;ia[j+1]) {*temp=*p[j]; *p[j]=*p[j+1]; *p[j+1]=*temp; 来改动指针的指向,使得a[]数组随之变化来实现冒泡 或者你是这样想 a数组里面的值不变,实现排序*p 那if条件改成 if(*p[j]>*p[j+1]) 这样才能通过指针地址的改变实现对*p数组的排序 a数组的内容不变
看了 C语言冒泡排序法,疑问啊~~...的网友还看了以下:
c语言do while 写一个输入N个整数(个数不限)从它们中选出一个最大的打印出来我的写法如下# 2020-05-13 …
lingo中@for(link3(i,j):c(i,j)=@if(@sum(type(l):x(l 2020-05-13 …
英语翻译But if that day did not keep me on your cell 2020-05-16 …
I don't know _________he will come or not tomorro 2020-05-16 …
noip2010提高组初赛试题求解3.#include<iostream>usingnamespa 2020-05-17 …
选择合适的选项填空.1.I'llgoshoppingwithyou(if/unless)I(hav 2020-06-06 …
i=0;if(a1==1){i=i+1;}if(a2==3){i=i+1;}if(a3==3){i 2020-07-09 …
求EXCELif函数高手(有关超过7个条件的),=IF(A1=1,"A",IF(A1=2,"B", 2020-07-23 …
[求助]函数突破了7层,如何换种方法表示?=IF(X3>0,"A",IF((W3+V3)>0,"B" 2020-10-31 …
1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是().(A)if(x&&y)i 2020-11-01 …