编写一个将n个整数用选择法按从小到大的顺序排序的函数void sort(int*p,int n),在主函数中两次调用,对3,9,

作者&投稿:戎邦 (若有异议请与网页底部的电邮联系)
分别用选择法、冒泡法编写一个排序的函数void mysort(int *p,int n)。~

void mysort(int *p,int n) //冒泡排序法
{
int t;
for(int i=0;i<n-1;i++)
for(int j=0;j<n-i-1;j++)
if(p[j]>p[j+1]) //大值往后移
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}


void mysort(int *p,int n) //选择排序法
{
int t;
for(int i=0;i<n-1;i++)
{
int k=i;
for(int j=i+1;j<n;j++)
if(p[j]<p[k]) //小值往前移
k=j;
if(i!=k)
{
t=p[i];
p[i]=p[k];
p[k]=t;
}
}
}

#include
void sort(int *p,int n);
int main()
{
int i,arr1[6]={3,9,2,8,6,1},arr2[10]={11,5,18,7,2,15,4,13,9,3};
sort(arr1,6);
sort(arr2,10);
printf("排序的结果:
");
for(i=0;i<6;i++)
printf("%3d",arr1[i]);

printf("
");
for(i=0;i<10;i++)
printf("%3d",arr2[i]);
}

void sort(int *p,int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(p[i]>p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}

#include<stdio.h>
void sort(int *p,int n);
int main()
{
int i,arr1[6]={3,9,2,8,6,1},arr2[10]={11,5,18,7,2,15,4,13,9,3};
sort(arr1,6);
sort(arr2,10);
printf("排序的结果:\n");
for(i=0;i<6;i++)
printf("%3d",arr1[i]);

printf("\n");
for(i=0;i<10;i++)
printf("%3d",arr2[i]);
}

void sort(int *p,int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(p[i]>p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}

已经在VC6上运行确认:
#include<stdio.h>

void sort(int *p,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(p[j]<p[k])k=j;
if(k!=i)
{t=p[i];p[i]=p[k];p[k]=t;}
}
}

printf("\nAfter Sort: \n");
for(i=0;i<n;i++)
{
printf("%d\t",p[i]);
}

}

void main()
{
int a1[6]={3,9,2,8,6,1},a2[10]={11,5,18,7,2,15,4,13,9,3},i;

sort(a1,6);

sort(a2,10);
}


用一维数组保存输入的N个整数,再将这N个整数逆序存放在该数组中,并输出...
i=0;i<N;i++) scanf("%d",&a[i]); \/\/输入for(i=0;i<=(N+1)\/2;i++) {t=a[i];a[i]=a[N-1-i];a[N-1-i]=t;} \/\/前后对调for(i=0;i<N;i++) \/\/输出 printf("%4d",a[i]);return 0;}其他回答不对,没有使用宏N ...

C语言指针问题:用指向指针的指针方法对n个整数排序并输出。要求将排序单...
对于a++,a=a-1这些非法的家伙嘛,就不用多说了,它试图去改变有用的数据单元,是绝对不能容忍的,我们需要的是稳定。。。=== 有括号的情况下func是一个函数指针,而没括号它返回一个int指针函数。函数指针是指向函数的指针变量。每一个函数,即使它不带有返回某种类型的指针,它本身都有一个入...

...要求将排序单独写成一个函数。N个整数在主函数中输入。最后在主函数...
include <stdio.h> define N 10000 \/\/可以根据自己的实际情况来自己设定数值 int *sort(int array[],N){ int *ptr=array;int tmp;int i=0;for(i=0;i<N;i++){ if(*ptr>*(ptr+1)){\/\/降序 tmp=*ptr;ptr=*(ptr+1);(ptr+1)=tmp;} } return ptr;} int main(){ int i=0;...

使用键盘输入一个多位整数n,利用循环实现将这个整数逆序输出?
int main() { int n, reversed = 0;printf("请输入一个多位整数:\\n");scanf("%d", &n);while (n > 0) { reversed = reversed * 10 + n % 10;n \/= 10;} printf("逆序输出为:%d\\n", reversed);return 0;} 这里使用scanf函数从键盘输入一个多位整数n,然后使用循环将这个整数...

设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
begin readln(st);a[i]:=st;end;for i:=1 to n-1 do for j:=i+1 to n do begin now1:=a[j];now2:=a[i];if length(a[j])>length(a[i]) then min:=length(a[i]) else min:=length(a[j]);for k:=1 to min do if now1[k]>now2[k] then begin st1:=a[j];...

C语言:输入n(n<=10)个整数存放到一个数组中(假设n个数互不相同),要求...
int a[10];int max,min;int NoMax=0,NoMin=0;int temp;for(int i=0;i<10;i++) scanf("%d",a[i]);\/\/输入min=a[0];max=a[0];for(int i=0;i<10;i++){ if(a[i]>max)\/\/查找最大下标 { max=a[i]; NoMax=i; } if(a[i]<min)\/\/查找最小下标 ...

编写程序,输入一个正整数n(n<=10),在输入n 个整数,将最小值与第一个数...
存在如下问题:1、s重复定义 2、i重复定义 3、最后一条printf语句少分号 4、警告;j定义了,但是没有使用 5、你的交换语句 a[p]=a[0]; 只是一个单纯的复制,没有交换。6、警告:main 函数返回值类型要是void 修改后完整代码如下:(亲测,无误)include<stdio.h> void main(){ int n=0;i...

c语言编程 输入一个正整数n(1<n《10),再输入n个整数,将最小值与第一个...
1、首先建立一个工程和.c文件。2、然后输入头文件和主函数。3、定义变量类型并初始化。4、输入一个正整数n(1<n《10),再输入n个整数。5、将最小值与第一个数交换,最大值与最后一个数交换。6、剔除整数的个位数。7、最后得到输出的结果。8、编译,运行,得到最后的结果。

输入一个数 n再输入 n 个整数存入数组 a 中,用选择法将 a 中的元素按...
1、首先,我们声明一个一维数组。2、然后我们输入【Array.Sort(a);】。3、在接下来我们编写一段遍历代码。4、最后我们输入屏幕等待语句。5、然后我们便可以点击启动调试按钮。6、这时便可以成功输出排序后数组元素。

编写程序求:给出一个整数n,一个数组{a1,a2,...,an},将n表示成数组中若...
编写程序求:给出一个整数n,一个数组{a1,a2,...,an},将n表示成数组中若干项的和,写出所有的可能。 5 例如:n=10,数组为{1,8,4,3,5,2},所有的可能为{1,4,3,2},{1,4,5},{8,2},{3,5,2}。JAY茶叶 | 浏览875 次 |举报 我有更好的答案...

镇坪县13756611001: 编写一个将n个整数用选择法按由小到大顺序排序的函数void sort(int*p,int n),在主函数中两次调用该函数,对3,9,2,8,6,1和11,5,7,2,15,4,13,9,3两组数进行排 -
驷沸双参: #includevoid sort(int*p,int n) { int i,j,tmp; for(i=0;i

镇坪县13756611001: 编程,对N个数从小到大用选择排序 -
驷沸双参: #include<stdio.h> int main() {int i,j,t,n,a[100];printf("请输入有几个整数(<=100):"); scanf("%d",&n); printf("请输入这%d个整数:\n"); for(i=0;i<n;i++)scanf("%d",&a[i]); for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(a[j]<a[k])k=j;t=a[i];...

镇坪县13756611001: 编写一个将n个整数用选择法按从小到大的顺序排序的函数void sort(int*p,int n),在主函数中两次调用,对3,9,2,8,6,1和11,5,18,7,2,15,4,13,9,3进行排序 -
驷沸双参: #include"stdio.h" #include"conio.h" void Sort(int a[],int count) { int i,j,min,temp; for(i=0;i

镇坪县13756611001: 编写一个将n个整数用选择法按从小到大的顺序排序的函数void sort(int*p,int n),在主函数中两次调用,对3,9, -
驷沸双参: 已经在VC6上运行确认: #include<stdio.h>void sort(int *p,int n) {int i,j,k,t;for(i=0;i<n-1;i++){k=i;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(p[j]<p[k])k=j;if(k!=i){t=p[i];p[i]=p[k];p[k]=t;}}} printf("\nAfter Sort: \n");for(i=0;i<n;i++){printf("...

镇坪县13756611001: C语言编程——选择排序法,要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了 -
驷沸双参: #include <stdio.h> #define SIZE_N 20 //SIZE_N is the size of the arrayvoid sortFun(int a[], int n) {int temp;for(int i=0;i<n;i++) //进行n个循环,每次选出剩下的最小的数,如第一次选出n个数中最for(int j=i+1;j<n;j++)//小的那个,如a[8],放入a...

镇坪县13756611001: 用选择法对数组的N个整数排序,按由小到大的顺序输出. -
驷沸双参: #include#include int main() { int i,a[100],ri,t,n,min,j; scanf("%d",&n); for(i = 0;i < n;i ++) scanf("%d",&a[i]); for(i = 0;i < n;i ++) { min = a[i],ri = i; for(j = i+1;j < n;j ++) { if(min > a[j]) min = a[j],ri = j; } t = a[i],a[i] = a[ri],a[ri] = t; } for(i = 0;i < n;i ++) printf("...

镇坪县13756611001: 利用选择法,描述将 N 个数按从小到大顺序排列的基本思路与算法流程. -
驷沸双参: 把未排序的数放在右边,已排序的放左边,算法就是,不断地从右边选取最小者放到左边. 选择排序法是一种不稳定的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,...

镇坪县13756611001: C语言能人请进用C语言写一个程序,要求输入N个整数,按从小到大的
驷沸双参: 定义个足够大的数组,把输入的N个整数作为数组的前N个元素. 先用基本的算法把这个数组的前N个数排序,然后按排好的顺序输出这前N个数就行了. #include "stdio.h" #define MAX 100 void main() { int n,num[MAX],i,j,k; // 输入 printf("N:"); scanf("%d",&n); for(i=0;inum[j+1]) { k=num[j]; num[j]=num[j+1]; num[j+1]=k; } } } // 输出 printf("\nResult:\n"); for(i=0;i全部

镇坪县13756611001: c语言 编写实现选择法对n个整数按升序排列的函数 -
驷沸双参: #include <stdio.h> #include <stdlib.h>#define NUM 10 /* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) {int arr[NUM],i,j,temp;printf("请输入10个数:\n");...

镇坪县13756611001: 编写程序实现:输入N个数(如100个数),用选择法按照从小到大排序,输出排序后的结果.要求定义函数 -
驷沸双参: 懒得写代码 你这个没有确定的说明要多少个数,那么就是什么数字都有可能 所以你要用到malloc函数来声明动态内存分配 然后一个for循环,写成死循环,然后里面套用一个for循环去挨个判断大小.再写一个if语句去判断是不是比前面的数字大,如果比前面的数字大循环到下一个数字再判断 printf打印

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网