用最基础的循环和指针做的这道题。如何退出程序那种基础东西,你自己应该会弄吧。我是初学编程,这已经是我目前的最大能力了。。。如果有更好的方法,我也是非常乐意接受的。。题目难就难在找中间那位数(也可能是其它更简单的方法我没想到)
#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;
}
请问C语言输入3个数,按从大到小输出?(用指针)谢谢
\/\/有数组!!!include<stdio.h> void main(){ char a[14]={"HOW DO YOU DO"};char *p=&a[12];int i;for(i=0;i<13;i++){ printf("%c",*p);p--;} printf("\\n");} \/\/或者:不含数组 include<stdio.h> include<string.h> void main(){ char *p=&a[12];int i;for(...
C语言利用指针实现三个数从大到小输出。
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 ...
c语言 输入三个整数,输出最大值最小值,要求使用指针的方式,要具体的分...
if (*c < *mi) *mi=*c;printf("max = %d min = %d\\n", *mx, *mi); \/\/ 输出 最大最小值,带星号的是 值 return 0; } 追问 带星号的是什么值 追答 声明里,带星号的形式表示那是指针。同语句里带星号的表示,外表一样,含意不同。C 语言,形式逻辑 不成立,初学者要注意。 语句里,指针指向的...
利用C语言指针比较三个数并且从小到大输出
int main(){ int a,b,c,*p1,*p2,*p3,*t;p1=&a;p2=&b;p3=&c;printf("请输入三个整数:");scanf("%d%d%d",p1,p2,p3);if(*p1>*p2){t=p1;p1=p2;p2=t;} if(*p1>*p3){t=p1;p1=p3;p3=t;} if(*p2>*p3){t=p2;p2=p3;p3=t;} printf("%d %d %d\\n",*p1,*p2,...
用指针编写C语言程序输入a,b,c三个数按从小到大顺序输出的流程图
void main(void){ float x[3],*p=x;printf("请输入三个数\\n");for(int i=0;i<3;i++)\/\/键盘接收数据 { printf("第%d个数:",i+1);scanf("%f",p++);} for(i=0;i<2;i++)\/\/冒泡法排序 { p=x;for(int j=0;j<2-i;j++,p++)if(*p>*(p+1)){ float t=*p;p=...
关与C语言编程的 输入3个数,用指针编程实现按从到小输出
int main(){ int x,y,z;int *p1,*p2,*p3,*temp;cout<<"请输入三个整数:"<<endl;cin>>x>>y>>z;p1=&x;p2=&y;p3=&z;if(*p1<*p2){ temp=p1;p1=p2;p2=temp;} if(*p1<*p3){ temp=p1;p1=p3;p3=temp;} if(*p2<*p3){ temp=p2;p2=p3;p3=temp;} cout<<*p1<<" ...
C语言的编程题:输入三个整数,按从大到小的顺序输出
include <stdio.h> main(){ int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x<y){t=x;x=y;y=t;} if(x<z){t=z;z=x;x=t;} if(y<z){t=y;y=z;z=t;} printf("%d %d %d\\n",x,y,z);}
C语言,用指针方法,将3个数按有小到大输出顺序!
void swap(int *p1,int *p2){ int t;t=*p1;p1=*p2;p2=t;} void main(){ int *pa,*pb,*pc;int a,b,c;printf("enter a,b,c:");scanf("%d,%d,%d",&a,&b,&c);pa=&a;pb=&b;pc=&c;if(*pa>*pb)swap(pa,pb);if(*pa>*pc)swap(pa,pc);if(*pb>*pc)swap(pb,...
...操作指针使数组中的数按从大到小的次序输出。
首先,输入三个数,你的数组开才开了2,数组开小了!a[3]其次,scanf ("%d", &a[i]);这里要使用取地址符号才能进行输入 再次,你加的else ;这些语句都没有用,直接删除 include<stdio.h>int main(){int *p,a[3],temp,i;p=a;printf("请输入三个数字");for(i=0;i<=2;i++)scanf...
C语言试题!输入3个整数,按从大到小的顺序输出
指针方式:include<stdio.h> define M 3 int main(){ int a[M];int *p=a;int i,j,temp;for(i=0;i<M;i++){printf("input the NO.%d number:\\n",i+1);scanf("%d",p+1);} for(i=0;i<M-1;i++)for(j=0;j<=M-i-1;j++)if(*(p+j)>*(p+j+1)){temp=*(p+j)...