高手请教,C语言,输入a,b,c,d四个数,按从大到小的顺序输出这四个数,应用指针变量做函数参数实 ,有追加

如题所述

#include<stadio.h>
int *sort(int * p,int n);
int main()
{
int a=1,b=5,c=3,d=2;
int a[4]={a,b,c,d};
sort(a,4);
for(int i=0;i<4;i++)
printf("%d",p[i]);
return 0;
}
int *sort(int *p,int n)
{
int pt;
for(int i=0;i<4;i++)
for(int jj=i;j<3;j++)
{
if(p[i]<p[j]
{pt=p[i];
p[i]=p[j];
p[j]=pt;
}
}
return p;
}
希望对你有帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-03
#include<stdio.h>
void fun(int *s)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3-i;j++)
{
if(s[j]<s[j+1])
{
int temp;
temp = s[j];
s[j] = s[j+1];
s[j+1] = temp;
}
}
}
}
void main()
{
int s[4];
printf("请输入abcd\n");

scanf("%d%d%d%d",&s[0],&s[1],&s[2],&s[3]);

fun(s);
for(int i=0;i<4;i++)
{
printf(" %5d",s[i]);
}
}
第2个回答  2012-04-11
#include <stdio.h>

int main(void)
{
int i,j;
int index = 0,t;
int line[20];
printf("Please input twenty integer : \n");
scanf("%d",&line[index]);
while(index++ < 20)
{
scanf("%d",&line[index]);
}
//升序
for (i = 0; i < 20; i++)
{
for (j = 0; j < 20; j++)
{
if (line[j] > line[j+1])
{
t = line[j];
line[j] = line[j + 1];
line[j + 1] = t;
}
}
}

printf("The sequencing results are as follows :\n");
for(i = 0; i < 20; i++)
{
printf("%3d ",line[i]);
}
putchar('\n');
return 0;
}