C语言编程,输入4个整数,要求按大小顺序输出。

2020-07-05

C语言编程,输入4个整数,要求按大小顺序输出。


#include
void mian()
{
int a[4],i,t,j;

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]{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<4;i++)
printf("%d ",a[i]);
}本回答被提问者采纳#include
void main()
{
int i,m[4],j,temp;
printf("input 4 num:");
for(j=0;j<4;j++)
{
scanf("%d",&m[j]);

}
for(i=0;i<4;i++)
{
for(j=i;j<4;j++)
{if(m[i]{temp=m[i];
m[i]=m[j];
m[j]=temp;

}

}

printf("\n%d",m[i]);

}

}main()
{
int arr[4],i,j,t;
for(i=0;i<4;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<3;i++)
{
for(j=0;j<3-i;j++)
{
if(arr[j]{
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}

}
}
for(i=0;i<4;i++)
{
printf("%d",arr[i]);
}
getch();
}
C语言编程:用指针编程,输入3个整数,从小到大的顺序输出
用最简单泡,用数组接受的标准输用指针p指组首地址。
实际数组首地址传入排序函数也可以,为了让楼主看一下指针指向,画蛇添足的又加了个int *p指向arr。

#include

void my_sort(int *arr, int n)
{
int i, j;
int tmp = 0;

for (i=0; i<(n-1); i++) {
for (j=i+1; jif (*(arr+j) < *(arr+i)) {
tmp = *(arr+j);
*(arr+j) = *(arr+i);
*(arr+i) = tmp;
}
}
}
}

int main()
{
int arr[3] = {0};
int *p = arr;

printf("please input three integer:\n");
int i;
for (i=0; i<3; i++) {
scanf("%d", arr+i);
}

my_sort(p, 3);

printf("\nAfter sort: \n");

for (i=0; i<3; i++) {
printf("%d ", *(p+i));
}

printf("\n");

return 0;
}用最简单的冒泡排序接受的标准输入,针p指向数组首地址。
实际数组首地址排序函数也可以,为了让楼主看一下指针指向,画蛇添足的又加了个int
*p指向arr。
#include

void
my_sort(int
*arr,
int
n)
{
int
i,
j;
int
tmp
=
0;
for
(i=0;
i<(n-1);
i++)
{
for
(j=i+1;
jj++)
{
if
(*(arr+j)
<
*(arr+i))
{
tmp
=
*(arr+j);
*(arr+j)
=
*(arr+i);
*(arr+i)
=
tmp;
}
}
}
}
int
main()
{
int
arr[3]
=
{0};
int
*p
=
arr;
printf("please
input
three
integer:\n");
int
i;
for
(i=0;
i<3;
i++)
{
scanf("%d",
arr+i);
}
my_sort(p,
3);
printf("\nAfter
sort:
\n");
for
(i=0;
i<3;
i++)
{
printf("%d
",
*(p+i));
}
printf("\n");
return
0;
}
C++编程:将10个整数按从小到大的顺序排列
#include "stdafx.h"
#include
using namespace std;
void k(int *a)
{
int j,i,t;
for(j=0;j<9;j++)
{
for(i=j+1;i<10;i++)
if(a[j]>a[i])
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
cout<}
cout<}
void main()
{
int a[10]={0},i;
for(i=0;i<10;i++)
{
cout<<"请输入"<cin>>a[i];
}
cout<<"输入完毕"<k(a);
}
楼主已经测试,你直接复制就可以了……
程序有中文引导,我保证你绝对可以看懂,也会用,给分吧……
这个程序的缺点是一定要输入10个数,本来我想改成你输入几个数都可以的程序,但是怕是你的作业,所以就把它限定了……

可将10个数放入,泡排其按进行排序。
#include
usingnamespacestd;

//冒泡排序长度为len的数组dat(升序)
voidsort(int*dat,intlen)
{
inttem;
for(inti=0;i{
for(intj=0;jif(dat[j]>dat[j+1])//大数在前面,则交换
{
tem=dat[j];
dat[j]=dat[j+1];
dat[j+1]=tem;
}
}
}

voidoutput(int*dat,intlen)//输出数据
{
for(inti=0;icout<<''<cout<}

intmain()
{
inta[]={9,8,3,5,7,1,6,4,0,2};
sort(a,10);
output(a,10);
return0;
}

我想到的新建一个同样长度的组,然后从输入数组首位扫描到末比当前数小的数字个数,如果是0,就将新数组下标0位赋值为这个数。
计数大小恰巧是下标数目。
这个算法应该比2L的快速,但是有个bug:两个数字大小相等的时候就会有问题。如果用可以支持插入的列表结构就没这个问题。#include
using namespace std;
int main()
{
int a[11],i;
for(i=1; i<=10; ++i)
cin>>a[i];
sort(a+1,a+11);
for(i=1; i<=10; ++i)
cout<cout<return 0;
}排序算法真的很多~
上面的是选择排序~在交换之前判断是不是原来数就更好了
编程 有3个整数a、b、c,由键盘输入,编程序按从小到大的顺序输出它们

1、只有3个数,可以用判断语句直接调的顺不用去写排序程序。2、vb示PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger,tAsInteger
a=Val(InputBox("inputa:",,5))
b=Val(InputBox("inputb:",,1))
c=Val(InputBox("inputc:",,6))

Ifa>bThent=a:a=b:b=t
Ifa>cThent=a:a=c:c=t
Ifb>cThent=b:b=c:c=t

MsgBoxa&","&b&","&c
EndSub#include
main()
{
int a,b,c;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a {
if(a>c)
printf("%d%d%d\n",b,a,c);
else
{
if(b>c)
printf("%d%df%d\n",b,c,a);
else
printf("%d%d%d\n",c,b,a);
}
}
else
{
if(aprintf("%d%d%d\n",c,a,b);
else
{
if(bprintf("%d%d%d\n",a,c,b);
else
printf("%2d%2d%2d\n",a,b,c);
}
}
}本回答被网友采纳#include
void main()
{
int a,b,c;
printf("输入三个");
scanf("%d%d%d",&a,&b,&c);
if(a>b&&a>c)
printf(":%d",a);
else if(b>a&&b>c)
printf("最大值为:%d",b);
else
printf("最大值为:%d",c);