打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c语言中四个数比较大小问题
主  题:C语言中四个数比较大小问题
作  者:atrsn (ziyu )
等  级:
信 誉 值:100
所属论坛:C/C++ C语言
问题点数:20
回复次数:25
发表时间:2005-7-23 23:39:37
输入四个数,按从小到大顺序输出。只用判断语句实现。不知各位大侠是否有经典的算法。
回复人:llf_hust() (
) 信誉:1002005-7-23 23:44:40得分:0
#include<stdio.h>
int Max(int a,int b)
{
if(a>b)
return a;
return b;
}
int main()
{
int t,a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
t = Max(Max(Max(a,b),c),d);
printf("max = %d",t);
return 0;
}
Top
回复人:llf_hust() (
) 信誉:1002005-7-23 23:45:18得分:0
看错题目 了不好意思
Top
回复人:zsd1101897(曼陀罗) (
) 信誉:1002005-7-23 23:47:30得分:0
#include <stdio.h>
main()
{
int a, b, c, d, t;
printf("请输入4个数:");
scanf("%d%d%d%d", &a, &b, &c, &d);
if (a>b)
{
t=a; a=b; b=t;
}
if (a>c)
{
t=a; a=c; c=t;
}
if (a>d)
{
t=a; a=d; d=t;
}
if (b>c)
{
t=b; b=c; c=t;
}
if (b>d)
{
t=b; b=d; d=t;
}
if (c>d)
{
t=c; c=d; d=t;
}
printf("排序结果:%d %d %d %d", a, b, c, d);
}
不知道这算不算经典啊?
Top
回复人:stoneagecr(stoneagecr) (
) 信誉:1002005-7-23 23:52:59得分:0
冒泡排序 两个for循环即可
Top
回复人:atrsn(ziyu ) (
) 信誉:1002005-7-23 23:57:16得分:0
不错简单明了。
Top
回复人:llf_hust() (
) 信誉:1002005-7-24 0:00:19得分:0
直接排序就可以得出结果
Top
回复人:zsd1101897(曼陀罗) (
) 信誉:1002005-7-24 0:06:20得分:0
冒泡法:
#include <stdio.h>
main()
{
int a[4];
int i;
int j;
int t;
printf("请输入4个数:\n");
for(i=0;i<4;i++)
{
sacnf("%d", &a[i]);
}
for(i=0; i<4; i++)
{
for(j=1;j<4-i;j++)
{
if(a[i]<a[j])
{
t=a[i]; a[i]=a[j]; a[j]=t
}
}
}
}
Top
回复人:llf_hust() (
) 信誉:1002005-7-24 0:17:53得分:0
#include<stdio.h>
void SelectSort(int a[],int n)
{
int i,j,tmp,temp;
for(i=0; i<n-1; i++)
{tmp = i;
for(j = i+1; j<n;j++)
if (a[tmp] > a[j])
tmp = j;
if(tmp != i)
{
temp = a[i];
a[i] = a[tmp];
a[tmp] = temp;
}
}
}
int main()
{
int a[5];
int i;
for(i=0; i<4; i++)
scanf("%d",&a[i]);
SelectSort(a,4);
for(i=0; i<4; i++)
printf("%d",a[i]);
return 0;
}
选择排序法
Top
回复人:MagicCarmack(梦中情人C++) (
) 信誉:1002005-7-24 1:03:34得分:0
这些算法算经典么?
期待高人出招
Top
回复人:aweto(冬虫夏草) (
) 信誉:1002005-7-24 2:30:05得分:0
选择了数组这个经典数据结构,C排序算法就多如牛毛了。 :)
Top
回复人:jixingzhong(瞌睡虫) (
) 信誉:1002005-7-24 8:42:49得分:0
如果只是输出四个中的最大值
到是有一些巧妙的方法。
可是要全部顺序输出的话....................
就比较困难了.................
Top
回复人:mic_c(贝壳撼木) (
) 信誉:1002005-7-24 11:19:26得分:0
UP
Top
回复人:HermeX() (
) 信誉:1002005-7-24 11:24:31得分:0
只有4个数的话,用什么排序差别都不大。
如果数的个数很多的话,当然使用最强捍的快速排序,虽然稳定性不太好。
Top
回复人:Student02370236(★★★★★★) (
) 信誉:1002005-7-25 3:02:36得分:0
如果你的数据量不太大的话就用递归吧...
Top
回复人:jlkzzh(一阵风) (
) 信誉:1002005-7-25 10:21:59得分:0
冒泡法 is perfect
Top
回复人:windking21(暗淡) (
) 信誉:1002005-7-25 10:54:48得分:0
排序应该是最简单的
#include <iostream.h>
void main()
{ int i,j,x,y,a[4];
for(i=0;i<4;i++)
{
cout<<"enter number:"<<endl;
cin>>x;
a[i]=x;
}
for(i=0;i<4;i++)
{
for(j=i+1;j<4;j++)
if(a[i]>a[j])
{
y=a[i];
a[i]=a[j];
a[j]=y;
}
}
cout<<"min="<<a[0]<<endl;
}
Top
回复人:newpuple(开始新的学程) (
) 信誉:1002005-07-25 11:23:00得分:0
我来试试。
main()
{int a,b,c,d,temp;
printf("please input four numbers:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a<b)
{temp=a;
a=b;
b=temp;
}
if(c<d)
{temp=c;
c=d;
d=temp;
}
if(a<c)
{temp=c;
c=a;
a=temp;
}
else if(c>b)
{temp=b;
b=c;
c=temp;
}
printf("%5d,%5d,%5d,%5d",a,b,c,d);
}
Top
回复人:shmilvy() (
) 信誉:1002005-07-25 12:20:00得分:0
#include"stdio.h"用for循环
Top
回复人:kernelxu(残眉) (
) 信誉:1002005-07-25 15:25:00得分:0
数较少,用简单冒泡法即可:
/*
Name : bubble_sort.c
Copyright : kernelxu
Author : kernelxu
Date : 2005-07-25 15:18
Description: displaying 4 int data in order from the biggest to the smallest
using bubble sort method
*/
#include <stdio.h>
int main(void)
{
int num[4] = {0};
int t = 0;
int i = 0;
int j = 0;
printf("Please enter 4 int datas:\n");
for(i = 0; i < 4; i++)
{
printf("Enter %d: ", i+1);
scanf("%d", &(num[i]));
}
for(i = 0; i<3; i++)
{
for(j = i+1; j < 4; j++)
{
if(num[i] > num[j])
{
t = num[i];
num[i] = num[j];
num[j] = t;
}
}
}
for(i = 0; i < 4; i++)
{
printf("%d\t", num[i]);
}
printf("\n");
system("pause");
return 0;
}
Top
回复人:guycs(年轻人) (
) 信誉:1002005-07-25 15:26:00得分:0
这似乎没什么太大意义吧?
Top
回复人:ENOUGH_XU(足球小兵) (
) 信誉:1002005-07-25 15:56:00得分:0
#include <iostream.h>
int main()
{
int a,b,c,d,max;
cin>>a>>b>>c>>d;
max=((a>b?a:b)>c?(a>b?a:b):c)>d?((a>b?a:b)>c?(a>b?a:b):c):d;
cout<<max<<endl;
return 0;
}
随便搞了一个,也不知道算不算经典.
Top
回复人:zzffrr(zzffrr) (
) 信誉:1002005-07-25 16:26:00得分:0
快速排序,数据结构算法里有。
Top
回复人:ENOUGH_XU(足球小兵) (
) 信誉:1002005-07-25 16:37:00得分:0
看错了,不好意思!!!
Top
回复人:mic_c(贝壳撼木) (
) 信誉:1002005-07-25 20:39:00得分:0
能不能用DO WHILE 语句啊?
Top
回复人:xsm(程序) (
) 信誉:1002005-07-26 19:56:00得分:0
main()
{
int a[4],i,j,s;
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]){
s=a[i];a[i]=a[j];a[j]=s;}
}
}
for(i=0;i<4;i++)
printf("%d",a[i]);
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《C语言程序设计》第三版课后答案
NOIP 提高组 初赛 四、阅读程序写结果 习题集(一)NOIP1998
《算法竞赛入门经典(第2版)》代码 Chapter 2
C语言 程序 字符串转换成整型,整型转换成字符串
动态规划经典问题
经典程序100例(11-20)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服