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语言利用指针实现三个数从大到小输出。的主要内容,如果未能解决你的问题,请参考以下文章