c语言编程题 利用指针编写函数用选择法对整数数组排序(降序)。 求大神帮忙啊!!!谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程题 利用指针编写函数用选择法对整数数组排序(降序)。 求大神帮忙啊!!!谢谢相关的知识,希望对你有一定的参考价值。

#include<stdio.h>

void Sort(int *a,int n) 
int *p,*q,*v,t;
for(p = a;p < a + n - 1;++p) 
v = p;
for(q = p + 1; q < a + n; ++q)
if(*v > *q) v = q;
if(*p != *v) 
t = *p;
*p = *v;
*v = t;





void Show(int *a,int n) 
int i;
for(i = 0; i < n; ++i)
printf("%d ",*(a + i));
printf("\\n");


int main() 
int a[] = 23,12,54,89,66,59,57,48,91,20,31;
int n = sizeof(a)/sizeof(a[0]);
printf("排序前:\\n");
Show(a,n);
printf("排序后:\\n");
Sort(a,n);
Show(a,n);
return 0;

参考技术A #include <iostream>
using namespace std;
int sort(int *a, int num)

int temp;
for(int i = 0; i < (num-1); i++)

if(a[i]>a[i+1])

temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;


return 0;

int main()

int num;
printf("请输入数组中整数个数:\n");
scanf("%d",&num);
int a[num];
sort(a,num);
return 0;

本回答被提问者采纳

C语言 利用选择排序法对数组中10个整数由小到大排序

选择排序法原理:

方法一:常规计算

#include<stdio.h>
int main()
	int i,j,min,temp,a[11];
	printf("enter data:\\n");
	for(i=1;i<=10;i++)
		printf("a[%d]=",i);
		scanf("%d",&a[i]);
	
	printf("\\n");
	printf("The orginal numbers:\\n");
	for(i=1;i<=10;i++)
		printf("%5d",a[i]);
	printf("\\n");
	for(i=1;i<=9;i++)
		min=i;
		for(j=i+1;j<=10;j++)
			if(a[min]>a[j])
				min=j;
		temp=a[i];
		a[i]=a[min];
		a[min]=temp;
	
	printf("\\nThe sorted numbers:\\n");
	for(i=1;i<=10;i++)
		printf("%5d",a[i]);
	printf("\\n");
	return 0;

方法二:函数调用

#include <stdio.h>
void sort(int array[],int n)
	int i,j,k,t;
	for(i=0;i<n-1;i++)
		k=i;
		for(j=i+1;j<n;j++)
			if(array[j]<array[k])
				k=j;
	
	t=array[k];
	array[k]=array[i];
	array[i]=t;
	

int main()
	int a[10],i;
	printf("请输入10个整数:\\n");
	for(i=0;i<10;i++)
		scanf("%d",&a[i]);
	sort(a,10);
	printf("由大到小顺序为:\\n");
	for(i=0;i<10;i++)
		printf("%3d",a[i]);
	return 0;

以上是关于c语言编程题 利用指针编写函数用选择法对整数数组排序(降序)。 求大神帮忙啊!!!谢谢的主要内容,如果未能解决你的问题,请参考以下文章

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

C语言 利用选择排序法对数组中10个整数由小到大排序

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

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

C语言:用选择法对10个整数排序

C语言1.用选择法对10个整数排序。10个整数用scanf函数输入。