C++ 帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/07/02 15:48:02
输入4个整数 要求按由小到大输出
我想了很久也想不到办法啊 我只用最笨的if语句写了出来 但是太长了
我想这肯定不是题目的要求 但是目前为止我还没学什么容器 冒泡之类的
不知道有什么能用目前方法简单的解决的吧 麻烦给我讲解一下 谢谢了

楼上朋友用了“冒泡”,但你不是说还没学吗?那我就不去“冒”这个“泡”了。
数组你会吧?在这我再用个指针,当然不用也行,但我认为初学者应该学着使用指针,你越怕它,就越不会用!加油!
#include<stdio.h>
void main()
{
int a[5],i,j,temp;
int *ptr=a; /*使用指针切记初始化!*/
printf("\n 请输入5个数: ");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(ptr[i]>ptr[j]) /*注意:ptr[i]=*(ptr+i)但前者写起来更直观!*/
{ temp=ptr[i];
ptr[i]=ptr[j];
ptr[j]=temp;
}
}
}
printf("\n 排序后的数为: ");
for(i=0;i<5;i++)
{
printf("%d",*(ptr+i));
}
}

注意,不知你用什么编译器,如果是TC2.0,那么所有的中文都打不出来!建议用VC++6.0

冒泡吧,教学经典排序
int t;
for(int i = 0, i < 4; i++) {
for(int j = 0; j < i; j++)
if(a[j] > a[i]) {
t = a[j];
a[j] = a[i];
a[i] = t;
}
}