c语言编程 输入4个整数,要求由小到大输出
答案:4 信息版本:手机版
解决时间 2019-10-05 15:46
已解决
2019-10-05 12:14
输入4个整数,要求由小到大输出
因为我是新手.我只会三个数!
四个数 就不会了.要是5个数 或是更多怎么办?
最佳答案
2019-10-05 13:32
用数组!
int swapped = 1;
int num[20];
while(swapped == 1)
{
swapped = 0;
for(i = 0; i < 19; i++)
{
if(num[i] > num[i+1])
{
swapped = 1;
tmp = num[i];
num[i] = num[i+1];
num[i+1] = tmp;
}
}
}
全部回答
1楼
2019-10-05 14:26
#include "stdio.h"
main()
{int a[4],i,j,t;
for(i<0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<4;i++)
printf("%d ",a[i]);
}
2楼
2019-10-05 14:08
道理都是一样的,再多就可以用循环了,不过4个数用循环不太爽~~,看下面的冒泡排序非循环4个数的实现呵呵:
#include
int main(char* x ,char** y)
{
int temp,a,b,c,d;
printf("please input num list:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a>b) {temp=a; a=b; b=temp;}
if(a>c) {temp=a; a=c; c=temp;}
if(a>d) {temp=a; a=d; d=temp;}
if(b>c) {temp=a; b=c; c=temp;}
if(b>d) {temp=b; b=d; d=temp;}
if(c>d) {temp=c; c=d; d=temp;}
printf("the sort is :\n");
printf("%d, %d, %d, %d\n",a,b,c,d);
return 0;
}
3楼
2019-10-05 13:58
#include
int main(void)
{
int *a1,*b1,*c1,a,b,c;
a1=&a;
b1=&b;
c1=&c;
scanf("%d%d%d",a1,b1,c1);
if(*a1>*b1)
{
*a1=*a1^*b1;
*b1=*a1^*b1;
*a1=*a1^*b1;
}
if(*a1>*c1)
{
*a1=*a1^*c1;
*c1=*a1^*c1;
*a1=*a1^*c1;
}
if(*b1>*c1)
{
*b1=*b1^*c1;
*c1=*b1^*c1;
*b1=*b1^*c1;
}
printf("%d,%d,%d",*a1,*b1,*c1);
return(0);
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯