c语言:编写一个函数名字为sort,完成对三个整数从小到大排序,要求用指针实现。

作者&投稿:祁窦 (若有异议请与网页底部的电邮联系)
C语言用指针对n个整数进行排序,并将结果顺序数去,要求用一个函数实现,求完整过程。~

void sort(int *a,int n)//传入数组 和长度
{

int i ,j,temp;
for(i = 0;i < n-1;i++)//冒泡排序
{
for(j = 0;j<n-i-1;j++)
{
if(*(a+j)>*(a+j+1))
{
temp = *(a+1);
*(a+1)=*(a+1+j);
*(a+1+j) = temp;
}
}
}
}

/*
排序前:
One-1 Two-2 Three-3 Four-4 Five-5 Six-6 Seven-7 Eight-8 Nine-9 Ten-10

排序后:
Two-2 Three-3 Ten-10 Six-6 Seven-7 One-1 Nine-9 Four-4 Five-5 Eight-8

Press any key to continue
*/
#include
#include

void sort(char *a[],int n) { // 选择排序
char *temp;
int i,j,k;
for(i = 0;i < n - 1;i++) {
k = i;
for(j = i + 1;j < n;j++)
if(strcmp(a[k],a[j]) < 0) k = j;
if(k != i) { // 交换的是字符串的地址,不是字符串的内容
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}


int main() {
int i,n = 10;
char *s[] = {"One-1","Two-2","Three-3","Four-4","Five-5","Six-6","Seven-7","Eight-8","Nine-9","Ten-10"};
printf("排序前:
");
for(i = 0;i < n;i++) printf("%s ",s[i]);
printf("

");
sort(s,n);
printf("排序后:
");
for(i = 0;i < n;i++) printf("%s ",s[i]);
printf("

");
return 0;
}

#include<stdio.h>
int sort(int *a,int *b,int *c)
{
int d;
if(*a>*b)
{d=*a;*a=*b;*b=d;}
if(*a>*c)
{d=*a;*a=*c;*c=d;}
if(*b>*c)
{d=*b;*b=*c;*c=d;}
printf("这个三个数从小到大排列是:%d,%d,%d
",a,b,c);
}
void main()
{
int a,b,c,*x,*y,*z;
printf("输入3个整数:");
scanf("%d,%d,%d",&a,&b,&c);
x=&a;
y=&b;
z=&c;
sort(x,y,z);

}

好好学学指针吧



修改通过了:

#include<stdio.h>

void sort(int *a,int *b,int *c)
{
int d;
if(*a>*b) // a,b,c是指针,对其解引用如*a才是他们指向的值
{d=*a;*a=*b;*b=d;}
if(*a>*c)
{d=*a;*a=*c;*c=d;}
if(*b>*c)
{d=*b;*b=*c;*c=d;}
printf("这个三个数从小到大排列是:%d,%d,%d\n",*a,*b,*c);
}

void main()
{
int a,b,c;
printf("输入3个整数:");
scanf("%d%d%d",&a,&b,&c);
sort(&a,&b,&c); // 参数是指针,传的就是地址
}


c语言程序设计请编写一个函数fun,它的功能是:将ss所指字符串中所有下...
include<stdio.h>#include <stdlib.h>#include <string.h>void fun(char a[]){ int i; int t=strlen(a); for(i=0;i<t;i++) { if(i%2!=0) { if(toascii(a[i])>=97&&toascii(a[i])<=122) { a[i]=(char)(toascii(a[i])-32); } ...

编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语...
void fun (char s1[],char s2[]){ int i,j;for (i=0;s1[i] !=’\\0’; i++); \/*求出的i为pA字符的总长度,包括结束标记位*\/ for (j=0;s2[j] !=’\\0’; j++)s1[i++]=s2[j]; \/*将pB字符串连在pA字符串的后面*\/ s1[i]='\\0’; \/*在字符串最后加上结束标记符*...

编写一个比较两个数大小的函数,输出较小的函数
include<stdio.h> void main(){ int ix,iy;printf("请输入两个数:\\n");scanf("%d",&ix);scanf("%d",&iy);if(ix>iy)printf("较小值为%d",iy);else { if(ix==iy)printf("它们是相同的!");else printf("较小值为%d",ix);} } ...

c语言编程 编写函数:用来判断一个整数是否满足“用4除余1,用5除余3...
代码如下:include "iostream"using namespace std;void main(){ int i;for(i=1;i<=500;i++){ if(i%3==2 || i%5==3 || i%7==2)cout<<i<<' ';} }

C语言. .编写一个Sort函数,完成对整型数组元素升序排列。
include <stdio.h>void sort(int a[], int n) {\/\/选择排序int i,j,k,t;for(i = 0; i < n - 1; ++i) {k = i;for(j = k + 1; j < n; ++j) {if(a[k] > a[j]) k = j;}if(k != i) {t = a[i];a[i] = a[k];a[k] = t;}}}int main() {int ...

编写一个c语言函数
include <stdio.h> include <stdlib.h> int main(){ int n;int num; \/\/\/输入的数字 int count[1005];int cnt=0; \/\/\/保存统计的个数 int i,j;\/\/memset(count,0,sizeof(count));for(j=0;j<1005;j++)count[j]=0;scanf("%d",&n); \/\/\/输入的数字个数 for(i=0;i<n;...

C++中,编写函数,输入一个整数,利用指针返回该数的绝对值。
include <stdio.h> int mabs(int a, int *p){ if(!p)return -1;if(a>0)*p=a;else *p=-a;return 0;} int main(){ int a, b;scanf("%d", &a);mabs(a, &b);printf("%d\\n", b);return 0;} C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据...

C语言,求助大神:写一个函数float area(float a,float,b)功能是计算以...
include<stdio.h>float area(float,float);int main(){ float a,b; printf("请输入矩形长和宽"); scanf("%f%f",&a,&b); printf("面积为:%.2f",area(a,b));}float area(float a,float b){ return a*b;}

C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归...
1。include "stdio.h"\/\/#define RECURSION 1 ifdef RECURSION long fact(int n){ if(n<1) return 1;return n*fact(n-1);} else long fact(int n){ long t=1;for(int i=2;i<=n;i++)t*=i;return t;} endif main(){ long s=0;for(int i=1;i<=10;i++)s+=fact(i);p...

请教,如何用C语言编写一个函数。
这也是我们最常见到情况。其实为了使程序的格式更加统一清晰,建议在仅有一条指令的时候也使用花括号,这是一个良好的编程习惯。示例:每一个C语言程序有且只有一个main函数,本身main就是一个函数。结合上面的格式,自己理解一下。int main() { return 0; } ...

小店区15812979314: c语言:编写一个函数名字为sort,完成对三个整数从小到大排序,要求用指针实现. -
实庄安必: 修改通过了:#include<stdio.h>void sort(int *a,int *b,int *c) { int d; if(*a>*b) // a,b,c是指针,对其解引用如*a才是他们指向的值 {d=*a;*a=*b;*b=d;} if(*a>*c) {d=*a;*a=*c;*c=d;} if(*b>*c) {d=*b;*b=*c;*c=d;} printf("这个三个数从小到大排列是:%d,%...

小店区15812979314: C语言编程.函数Sort()用于对参数整数数组array的元素进行由小到大的选择排序 -
实庄安必: #define N 10 //数组元素个数 #include"stdio.h"void sort(int array[],int n) //排序函数 {int i,j,temp;for(i=0; i for(j=i+1; j {if(array[i]>array[j]){//交换temp=array[i];array[i]=array[j];array[j]=temp;}} }void main() //主函数 {//随便输入数组值int...

小店区15812979314: C语言 编写函数sort
实庄安必: #include <stdio.h> #include <math.h> void Sort(int *array,int iLen) { int i,j; for (i=0;i!=iLen-1;++i) { for (j=0;j!=iLen-1-i;++j) { if (abs(array[j])>abs(array[j+1])) array[j]^=array[j+1]^=array[j]^=array[j+1]; } } } int main() { int i=0; int array[10]={0}; puts("enter 10 ...

小店区15812979314: C程序 sort函数 -
实庄安必: 1)这程序是一个C++程序,不是C程序 2) #include <algorithm> 在algorithm.h头文件里有函数sort()的定义,这样以下的语句才可以调用sort()函数 3) using namespace std;声明使用C++标准库,这样在调用sort()时不用写成std::sort() 4) sort(begin,end)排序函数将在区间[begin,end]内元素按升序进行排序,begin和end间的元素都是可以随机访问如数列(array)中元素,不能是依次序访问元素如串列(list),队列(queue)中元素. 5) 要在第7行scanf()后面加 ;

小店区15812979314: sort函数在C语言中如何使用?
实庄安必: 排序(sort) 语法: void sort(); void sort( Comp compfunction ); sort()函数为链表排序,默认是升序.如果指定compfunction的话,就采用指定函数来判定两个元素的大小.

小店区15812979314: 在c语言中运用sort函数的代码示例,最好简单,能够包含基础的知识点和基本格式 -
实庄安必: 好吧,来个冒泡法排序的例子;假设有一个整形数组 a[100];数据已输入;现在对其进行升序.for(int i = 0 ;i{ for(int j = i+1; j<100; j++) //取出的数和后面的每个数进行比较{ if(a[i] > a[j]) //如果 比后面的数大 {int tmp = a[i]; //两个数交换, a[i] = b[i]; b[i] = tmp; } //一遍循环把最小a[i]到a[99]中的最小的数“冒”到a[i] } }

小店区15812979314: 编写一个函数sort,实现数组元素的升序(或降序)排列. -
实庄安必: 编写一个函数可以实现任意长度整型数组的升序排序,最多10个元素.要求:1) int sort(int *a, int count) { int i,j,k; for(i=0;i<count;i

小店区15812979314: c语言 编写函数sort(int*x,int n)函数 -
实庄安必: void main() { int n,i,x[80]; scanf("%d",&n); //int x[80];\\ : error C2143: syntax error : missing ';' before 'type' for(i = 0;i < n;i++) scanf("%d",&x[i]); sort(x,n); for(i = 0;i < n;i++) printf("%d ",x[i]); printf("\n"); }

小店区15812979314: C语言中sort函数定义的原理 -
实庄安必: 这是一个选择排序的函数. 用sort(a,3);调用时, 第一轮内循环后,k=2 交换后,a数组成为:5,7,9 第二轮内循环后,k=1 实际并没有交换. sort()返回后,a数组就是5,7,9

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