用指针实现:对10个整数按从大到小顺序排列

如题所述

第1个回答  2011-06-08
#include<stdio.h>

void fun(int *a,int n)
{
int i,j,t;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(*(a+i)<*(a+j))
{
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
}
}

void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(a,10);
for(i=0;i<10;i++)
printf("%d",a[i]);
}本回答被提问者采纳
第2个回答  2011-06-08
#include <stdio.h>
void sort(int *p, int n)
{
int *a,*b,t;
for(a=p+1;a<p+n;++a)
for(b=p+n-1;b>=a;--b)
if(*(b-1)<*b)
{ t=*(b-1);
*(b-1)=*b;
*b=t;
}
}
int main()
{
int a[10]={1,2,3,4,5,9,8,7,6,0};
int i;
sort(a,10);
for(i=0;i<10;i++)printf("%d ",a[i]);
return 0;
}

用指针实现:对10个整数按从大到小顺序排列
{ int a[10]={1,2,3,4,5,6,7,8,9,10},i;fun(a,10);for(i=0;i<10;i++)printf("%d",a[i]);}

用指针实现由键盘输入10个整数将他们按由小到大的顺序排列
要使用指针在C语言中实现键盘输入10个整数并按由小到大的顺序排列,我们可以定义一个整型数组和相应的指针来操作这些整数。首先,通过循环读取用户输入的10个整数存储到数组中。然后,使用冒泡排序算法(或其他排序算法)对这些整数进行排序,排序过程中通过指针来访问和交换数组中的元素。示例代码片段(不包...

用指针方法对10个整数按由大到小顺序排序的源程序,我不明白定义的sort函...
for(i=0;i<n-1;i++){ k=i; \/\/初始化k,指向第一个数,开始时,只有一个数,所以最大,\/\/下边的程序是把第i个数与第j个数作比较,把数向前挪动 for(j=i+1;j<n;j++)if(x[j]>x[k]) \/\/如果第j个数大于前边所有数中的最大数 k=j; \/\/则k指向第j个最大的数 if(k!=...

用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。
void sort(int*s,int n);\/\/定义排序函数 int main(){ int a[10],*p;printf("Please enter 10 nunmbers:");\/\/输入10个整数 for(p=a;p<a+10;scanf("%d",p++));printf("Original number:");for(p=a;p<a+10;printf("%d",*p++));\/\/输出原来输入的10个整数 printf("\\n");so...

用指针实现:由键盘输入10个整数,将最大的调到最后,最小的调到最前
\/* 用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列 *\/ include "stdio.h"\/* 简单选择排序 *\/ void SelectSort(int *arr, int len){ int i, j, k;int temp;for(i=0; i<len-1; i++){ k = i;for(j=i+1; j<len; j++){ if(*(arr+j) < *(arr+k))k =...

怎么在C语言中用指针实现对10个整数进行选择排序啊?
include <stdio.h>int main(int argc, char* argv[]){\/\/对a数组进行排序int a[10],*p,*q,*flag;\/\/输出排序前的样子for (p=&a[0];p < &a[10]; p++) printf("%d ",*p);putchar('\\n');\/\/执行选择排序for (p=&a[0]; p!=&a[9]; p++) {flag=p;for (q=p+1;q<=&...

C语言用指针对10个整数排序帮我改下
include<stdio.h>int main(){int a[10],*p,i,t,j;for(i=0;i<10;i++) scanf("%d",&a[i]);\/\/加&取地址。 for(j=0;j<9;j++){ for(i=0;i<9-j;i++) { if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}\/\/缺{ }}\/\/for循环在这...

C语言程序,求用指针变量对10个整数15、5、9、2、7、11、8、3、12、1...
void select_sort(int*a,int n){ registerint i, j, min, t;for( i =0; i < n -1; i ++){ min = i;for( j = i +1; j < n; j ++)if( a[ min]> a[ j]) min = j;if( min != i){ t = a[ min];a[ min]= a[ i];a[ i]= t;} } } 1、15、5、9...

c语言 输入十个整数,从大到小排序,并输出来。求解题思路
int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };int sz = sizeof(arr) \/ sizeof(arr[0]);BubbleSort(arr, sz);PrintArr(arr, sz);system("pause");return 0;} 2、指针形式。创建两个变量start、end,记住数组起始与结束位置元素的地址,应用两次 while 循环交换地址 指...

c语言中,用指针,实现从键盘输入十个整数,计算出最大值和最小值,并返 ...
int max=0,min=100;p=&max;\/\/指针P指向max q=&min;\/\/指针q指向min int x;scanf("%d",&x);while(x!=0) \/\/输入0结束输入 { if(*p<x)p=x;if(*q>x)q=x;scanf("%d",&x);} printf("max:%d\\tmin:%d\\n",*p,*q);while(1);return 0;} 如果确定为输入10 个数的话,...

相似回答