
51单片机 将一组数按从大到小的顺序排列起来
比如说程序将内部RAM40H到4FH中的16个数据按从小到大顺序重新排列要C语言的不要汇编的来个大神帮帮忙...
比如说程序将内部RAM 40H到4FH 中的16个数据按从小到大顺序重新排列 要C语言的 不要汇编的 来个大神帮帮忙
展开
3个回答
展开全部
#include<stdlib.h>
#include<stdio.h>
#define arrSize 1000
void RecurSelectSort(int a[], int n, int i);
main()
{
int a[arrSize], i, n;
printf("Please input the number of integers:"); /* 打印提示信息 */
scanf("%d", &n); /* 读取字符串长度 */
printf("Please input the integers:"); /* 打印提示信息 */
/* 读取数组元素 */
for(i=0;i<n;i=i+1){
scanf("%d", &a[i]);
}
/* 进行升序函数调用 */
for(i=0;i<n;i=i+1){
RecurSelectSort(a, n, i);
}
/* 打印数组元素 */
for(i=0;i<n;i=i+1){
printf("%d ", a[i]);
}
printf("\n"); /* 换行 */
system("pause");
}
void RecurSelectSort(int a[], int n, int i)
{
int b, max;
if(n==1){
if(a[n-1]>a[n]){
max=a[n-1];
a[n-1]=a[n];
a[n]=max;
}
}
else{
if(a[n-2]>a[n-1] && n>2){
b=a[n-1];
a[n-1]=a[n-2];
a[n-2]=b;
}
RecurSelectSort(a, n-1, i);
i=0;
}
}
#include<stdio.h>
#define arrSize 1000
void RecurSelectSort(int a[], int n, int i);
main()
{
int a[arrSize], i, n;
printf("Please input the number of integers:"); /* 打印提示信息 */
scanf("%d", &n); /* 读取字符串长度 */
printf("Please input the integers:"); /* 打印提示信息 */
/* 读取数组元素 */
for(i=0;i<n;i=i+1){
scanf("%d", &a[i]);
}
/* 进行升序函数调用 */
for(i=0;i<n;i=i+1){
RecurSelectSort(a, n, i);
}
/* 打印数组元素 */
for(i=0;i<n;i=i+1){
printf("%d ", a[i]);
}
printf("\n"); /* 换行 */
system("pause");
}
void RecurSelectSort(int a[], int n, int i)
{
int b, max;
if(n==1){
if(a[n-1]>a[n]){
max=a[n-1];
a[n-1]=a[n];
a[n]=max;
}
}
else{
if(a[n-2]>a[n-1] && n>2){
b=a[n-1];
a[n-1]=a[n-2];
a[n-2]=b;
}
RecurSelectSort(a, n-1, i);
i=0;
}
}
展开全部
参考:
http://hi.baidu.com/do_sermon/item/9445e7299263d00d42634ac3
------
提问者采纳的程序,并不是 51 单片机的程序。
该程序并没有把《内部RAM 40H到4FH》中的16个数据,按从小到大顺序重新排列。
http://hi.baidu.com/do_sermon/item/9445e7299263d00d42634ac3
------
提问者采纳的程序,并不是 51 单片机的程序。
该程序并没有把《内部RAM 40H到4FH》中的16个数据,按从小到大顺序重新排列。
追问
非常感谢你 感觉你说得对 祝你春节愉快
追答
对与不对,一试便知。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初始化完成之后,直接在网上找一个排序程序就ok了,不过利用单片机应该涉及到数据的输入和显示,自己注意设计一下就好了,尤其是应该有数据之间的间隔标志
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询