用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。相关的知识,希望对你有一定的参考价值。

输入: 键盘输入的10个整数。
输出: 按由小到大的顺序排列。
输入样例: 1 5 4 3 2 9 23 11 5 7
输出样例: 1 2 3 4 5 5 7 9 11 23

#include<stdio.h>

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");

sort(a,10);//调用排序函数

printf("New number:");

for(p=a;p<a+10;printf("%d",*p++));//输出排序后的10个整数

printf("\\n");

return 0;

void sort(int*s,int n)

int*i,*j,t;

for(i=s;i<s+n;i++)

for(j=i+1;j<s+n;*i<*j?t=*i,*i=*j,*j=t,j++:j++);

扩展资料:

return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。

return 0代表程序正常退出。return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。

return语句用来结束循环,或返回一个函数的值。

1、return 0,说明程序正常退出,返回到主程序继续往下执行。

2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0或return 1对程序执行的顺序没有影响,只是大家习惯于使用return(0)退出子程序而已。

参考资料:

百度百科——return

参考技术A #include<stdio.h> /* 用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列 */

void main() /*主函数*/

int i, m, a[10], *p=a, k, j, t; /*定义变量*/

printf( "输入10 个数:"); /*输入数字,例如:2然后按回车,3然后按回车,直到结束*/
for( i = 0 ; i <= 9 ; i++ )
scanf( "%d" , p + i );

for( i = 0 ; i < 9 ; i++ ) /*对输入的十个数进行排序*/

k = i;
for( j = i+1 ; j <= 9 ; j++ )
if(*( p+k ) < *( p+j ))
k = j;
t = *(p+k); *(p+k) = *(p+i); *(p+i) = t;


for( i = 0 ; i <= 9 ; i++ ) /*排序后输出结果*/
printf( "%d" , *(p+i) );
/*The End*/本回答被提问者和网友采纳
参考技术B /* 用指针实现:由键盘输入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 = j;

if(k != i)

temp = *(arr+k);
*(arr+k) = *(arr+i);
*(arr+i) = temp;




void main()

int arr[10];
int i;

printf("input 10 number : \n");
for(i=0; i<10; i++)
scanf("%d", &arr[i]);

SelectSort(arr, 10);

printf("softed : \n");
for(i=0; i<10; i++)
printf("%4d", arr[i]);
参考技术C #include<stdio.h>
void main()

int order(int *p1,int *p2,int *p3,int *p4,int *p5,int *p6,int *p7,int *p8,int *p9,int *p10);
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10;
printf("enter the 10 numbers\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&num1,&num2,&num3,&num4,&num5,&num6,&num7,&num8,&num9,&num10);
order(&num1,&num2,&num3,&num4,&num5,&num6,&num7,&num8,&num9,&num10);
printf("order is%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",num1,num2,num3,num4,num5,num6,num7,num8,num9,num10);
getchar();
getchar();

int order(int *p1,int *p2,int *p3,int *p4,int *p5,int *p6,int *p7,int *p8,int *p9,int *p10)

int i=1;
int ord(int *pa,int *pb);
do

ord(p1,p2);
ord(p2,p3);
ord(p3,p4);
ord(p4,p5);
ord(p5,p6);
ord(p6,p7);
ord(p7,p8);
ord(p8,p9);
ord(p9,p10);
++i;
while(i<10);
return(*p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9,*p10);

int ord(int *pa,int *pb)

int a;
if(*pa>*pb)

a=*pa;
*pa=*pb;
*pb=a;

return(*pa,*pb);
参考技术D #include <stdlib.h>
void sort(int a[],int n)

int i,j,t;
for (i=0;i<n;i++)
for (j=0;j<n-i;j++)
if (a[i]>a[j])

t=a[i];a[i]=a[j];a[j]=t;


void sc(int x[],int n)

int i;
for (i=0;i<n;i++)

printf("%3d",x[i]);


int main(void)

int x[10],n=10,i;
for (i=0;i<10;i++)

scanf("%d",&x[i]);

sort(x,n);
sc(x,n);
printf("\n");
return 0;

键盘任意输入三个整数,要求按照从小到大的熟悉排列python

参考技术A #键盘任意输入三个整数,要求按照从小到大的熟悉排列python
a = int(input('a='))
b = int(input('b='))
c = int(input('c='))
print(sorted([a,b,c]))
########################

a=4
b=3
c=8
[3, 4, 8]

以上是关于用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。的主要内容,如果未能解决你的问题,请参考以下文章

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

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

写一个函数,使N个整数按由小到大的顺序排列,要求在主函数中输入10个数,并输出排好序的数

编程 有3个整数a、b、c,由键盘输入,编程序按从小到大的顺序输出它们

键盘任意输入三个整数,要求按照从小到大的熟悉排列python

指针选择排序法,10个整数从小到大排序