主 題: |
|
C語言中四個數(shù)比較大小問題 |
作 者: |
|
atrsn (ziyu ) |
等 級: |
|
|
信 譽 值: |
|
100 |
所屬論壇: |
|
C/C++ C語言 |
問題點數(shù): |
|
20 |
回復(fù)次數(shù): |
|
25 |
發(fā)表時間: |
|
2005-7-23 23:39:37 |
|
|
|
|
|
|
|
輸入四個數(shù),,按從小到大順序輸出。只用判斷語句實現(xiàn)。不知各位大俠是否有經(jīng)典的算法,。
| |
|
|
回復(fù)人:llf_hust() ( ) 信譽:100 |
2005-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 |
|
|
回復(fù)人:zsd1101897(曼陀羅) ( ) 信譽:100 |
2005-7-23 23:47:30 |
得分:0 |
|
|
|
#include <stdio.h>
main() { int a, b, c, d, t; printf("請輸入4個數(shù):"); 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("排序結(jié)果:%d %d %d %d", a, b, c, d); } 不知道這算不算經(jīng)典?。?BR>
| |
Top |
|
|
回復(fù)人:zsd1101897(曼陀羅) ( ) 信譽:100 |
2005-7-24 0:06:20 |
得分:0 |
|
|
|
冒泡法: #include <stdio.h> main() { int a[4]; int i; int j; int t; printf("請輸入4個數(shù):\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 |
|
|
回復(fù)人:llf_hust() ( ) 信譽:100 |
2005-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 |
|
|
回復(fù)人:aweto(冬蟲夏草) ( ) 信譽:100 |
2005-7-24 2:30:05 |
得分:0 |
|
|
|
選擇了數(shù)組這個經(jīng)典數(shù)據(jù)結(jié)構(gòu),C排序算法就多如牛毛了,。 :)
| |
Top |
|
|
回復(fù)人:jixingzhong(瞌睡蟲) ( ) 信譽:100 |
2005-7-24 8:42:49 |
得分:0 |
|
|
|
如果只是輸出四個中的最大值
到是有一些巧妙的方法,。
可是要全部順序輸出的話....................
就比較困難了.................
| |
Top |
|
|
回復(fù)人:HermeX() ( ) 信譽:100 |
2005-7-24 11:24:31 |
得分:0 |
|
|
|
只有4個數(shù)的話,用什么排序差別都不大,。 如果數(shù)的個數(shù)很多的話,,當(dāng)然使用最強捍的快速排序,雖然穩(wěn)定性不太好,。
| |
Top |
|
|
回復(fù)人:windking21(暗淡) ( ) 信譽:100 |
2005-7-25 10:54:48 |
得分:0 |
|
|
|
排序應(yīng)該是最簡單的
#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 |
|
|
回復(fù)人:newpuple(開始新的學(xué)程) ( ) 信譽:100 |
2005-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 |
|
|
回復(fù)人:shmilvy() ( ) 信譽:100 |
2005-07-25 12:20:00 |
得分:0 |
|
|
|
#include"stdio.h"用for循環(huán) | |
Top |
|
|
回復(fù)人:kernelxu(殘眉) ( ) 信譽:100 |
2005-07-25 15:25:00 |
得分:0 |
|
|
|
數(shù)較少,用簡單冒泡法即可: /* 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 |
|
|
回復(fù)人:ENOUGH_XU(足球小兵) ( ) 信譽:100 |
2005-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;
} 隨便搞了一個,也不知道算不算經(jīng)典. | |
Top |
|
|
回復(fù)人:zzffrr(zzffrr) ( ) 信譽:100 |
2005-07-25 16:26:00 |
得分:0 |
|
|
|
快速排序,數(shù)據(jù)結(jié)構(gòu)算法里有。 | |
Top |
|
|
回復(fù)人:xsm(程序) ( ) 信譽:100 |
2005-07-26 19:56:00 |
得分:0 |
|
|
|
main() { int a[4],i,j,s;
for(i=0;i<4;i++) scanf("%d",&a[i]); /*輸入四個數(shù)*/
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]); } | |
|