早教吧作业答案频道 -->其他-->
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语言冒泡排序法,疑问啊~~...的网友还看了以下:
虽能帮我看看lingo程序哪里错了model:sets:a/1..3/:d;b/1..3/;c(a 2020-05-13 …
怎么用C语言编写杨辉三角#include"stdafx.h"intmain(intargc,cha 2020-05-14 …
在下面循环语句中内层循环体S语句的执行总次数为()。在for(inti=0;i<n;i++)for 2020-05-14 …
matlab新人,想把矩阵中的符号变量替换为数值变量,程序运行结果不对,程序为:x=-1:0.5: 2020-05-16 …
数列{an}(n≥2014,n∈n)满足:ai+a(i+1)+...+a(i+2012)0,j=1 2020-05-21 …
c++填空题1下列函数用选择法对有n个整数的数组a进行排序,请将函数补充完整。(每空2分)void 2020-06-12 …
C语言冒泡排序法,疑问啊~~~~~~~~~~~~~~~~~#include<stdio.h>#de 2020-07-23 …
C语言求鞍点,哪里错了#include<stdio.h>intmain(){inti,j,k,ma 2020-07-23 …
求100到1000之间的素数#include"stdio.h"main(){inti,j,p;fo 2020-07-23 …
问个C语言,不明白啊题目:字符数组采用单个字符(%c)方式输入,并将它逆序输出。#include"s 2020-12-02 …