c语言:指针 用选择法对10个整数由大到小顺序排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言:指针 用选择法对10个整数由大到小顺序排序相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
void main()

void inv(int * x,int n);
int i,* a,b[10];
a=b;
printf("please input array a\n");
for(i=0;i<10;i++)
scanf("%d",a++);
printf("\n");
a=b;
inv(a,10);
for(i=0;i<10;i++)
printf("%d ",* a++);
printf("\n");

void inv(int * x,int n)

int * i,* j,* k,temp;
for(i=x;i<x+n-1;i++)

k=i;
for(j=x+1;j<(x+n);j++)
if(* j>* k) k=j;//问题处
if(k!=i)
temp=* k;* k=* j;* j=temp;


此程序的倒数第5行中"k=j"指针变量对指针变量赋值对吗?要怎么改呀?

参考技术A k=j没问题,问题在别的地方

void inv(int * x,int n)

int * i,* j,* k,temp;
for(i=x;i<x+n-1;i++)

k=i;
for(j=i+1;j<(x+n);j++) //j=i+1不是x+1
if(* j>* k) k=j;//问题处
if(k!=i)
temp=* k;* k=* i;* i=temp; //这里交换k,i指向的值,不是j指向的值

本回答被提问者采纳

以上是关于c语言:指针 用选择法对10个整数由大到小顺序排序的主要内容,如果未能解决你的问题,请参考以下文章

c语言输入任意5个实数,按照由大到小排序输出?

C语言采用选择法对数组元素按从大到小的顺序排列

C++_输入2个整数,并由大到小的顺序输出

c语言:利用指针变量,用函数实现将3个整数按从大到小的顺序输出

输入3个整数,按从小到大的顺序输出(用指针处理)

输入3个整数,按从小到大的顺序输出(用指针处理)