C语言利用指针实现三个数从大到小输出。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言利用指针实现三个数从大到小输出。相关的知识,希望对你有一定的参考价值。

利用指针实现三个数从大到小输出。交换2个数的函数可以利用你在2453上写好的哦。省事多了吧。多组测试数据,每组一行输入三个数

用最基础的循环和指针做的这道题。如何退出程序那种基础东西,你自己应该会弄吧。我是初学编程,这已经是我目前的最大能力了。。。如果有更好的方法,我也是非常乐意接受的。。题目难就难在找中间那位数(也可能是其它更简单的方法我没想到)

#include<stdio.h>

#define SIZE 3

 int main()

  

int index;

int num[SIZE];

int max, mid, min;

int get_mid;

int max_mid; //max与mid相等时

int min_mid; //min与mid相等时


a: printf("请输入3个数字: ");


for(index = 0; index < SIZE; index++)

scanf("%d", &num[index]);


for(max = num[0], index = 0; index < SIZE; index++)

max = max > num[index] ? max : num[index];

for(min = num[0], index = 0; index < SIZE; index++)

min = min < num[index] ? min : num[index];

for(index = 0, max_mid = 0, min_mid = 0, get_mid = 0; index <SIZE; index++)

if(max == num[index])

max_mid++;

continue;

if(min == num[index])

min_mid++;

continue;

mid = num[index];

get_mid = 1;

if(get_mid == 0 && max_mid > 1)

mid = max;

if(get_mid == 0 && min_mid > 1)

mid = min;


printf("%d %d %d\\n", max, mid, min);

goto a;


system("pause");

return 0;

参考技术A #include<stdio.h>
#define N 5
int f(int *q)

int i,j,*u,t;
u=q;
for(i=0;i<N;i++)
for(j=0;j<N-1;j++)
if(u[i]>u[j])

t=u[i];
u[i]=u[j];
u[j]=t;


print(int *q)

int i;
for(i=0;i<N;i++)
printf("%d\t",*(q+i));
printf("\n");

int main(void)

int a[N],i,*p;
p=a;
printf("input %d datas:\n",N);
for(i=0;i<N;i++)
scanf("%d",&p[i]);
f(p);
print(p);

是指针,中间调用了函数 应该懂吧本回答被提问者和网友采纳

c语言解答从键盘上输入三个数,按从大到小的顺序排列并输出最大值

速度 谢了

#include <stdio.h>

void main()

int a[3],i,j,temp;
printf("输入三个数:\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);

for(i=0;i<3;i++)
for(j=i;j<3;j++)
if(a[i]<a[j])

temp=a[i];
a[i]=a[j];
a[j]=temp;


printf("最大值为:%d",a[0]);
参考技术A #include
<stdio.h>
void
main()

int
a[3],i,j,temp;
printf("输入三个数:\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
for(j=i;j<3;j++)
if(a[i]<a[j])

temp=a[i];
a[i]=a[j];
a[j]=temp;

printf("最大值为:%d",a[0]);
参考技术B #include
int
main(void)

int
a,b,c,t;
printf("请输入三个数");
scanf("%d%d%d",&a,&b,&c);
if(a
评论
0
0
加载更多
参考技术C #include<stdio.h>
main()

int
a[3],i,k;
for(i=0;i<3;i++)
for(k=i;k<2;k++)
if(a[i]<a[k+1])

int
c=a[k];
a[k]=a[k+1];
a[k+1]=c;

for(i=0;i<3;i++)
printf("%d",a[k]);
参考技术D #include<stdio.h>
main()

int a[3],i,k;
for(i=0;i<3;i++)
for(k=i;k<2;k++)
if(a[i]<a[k+1])

int c=a[k];
a[k]=a[k+1];
a[k+1]=c;

for(i=0;i<3;i++)
printf("%d",a[k]);

以上是关于C语言利用指针实现三个数从大到小输出。的主要内容,如果未能解决你的问题,请参考以下文章

c语言:利用指针变量,用函数实现将3个整数按从大到小的顺序输出

c语言,输入3个数,按从大到小的顺序输出,要用三种方法

用C语言实现:将三个数按从大到小输出。

c语言代码编程题汇总:将三个随机的三个数按从大到小输出

c语言任意输入5个数,并按从大到小顺序输出

c语言解答从键盘上输入三个数,按从大到小的顺序排列并输出最大值