氣泡排序法從小到大排列,取頭尾(最小最大)值:
#include <stdio.h> int main() { while(1){ printf("Please enter five integers: "); int a[5], i; for(i = 0; i < 5; i++){ scanf("%d", &a[i]); } int j = 0, temp = 0; for( i = 0; i < 5; i++) { for( j = 0; j < 4 - i; j++) { if( a[j] < a[j+1] ) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } printf("The largest is %d\nThe smallest is %d\n", a[4], a[0]); } }
列逐次比對,從大排到最小取頭尾(最大最小)值:
#include <stdio.h> int main(int argc, char *argv[]) { int a,b,c,d,e; int temp; scanf("%d %d %d %d %d",&a,&b,&c,&d,&e); //大到小 if(a>b){ temp = b; b = a; a = temp; } if(a>c){ temp = c; c = a; a = temp; } if(a>d){ temp = d; d = a; a = temp; } if(a>e){ temp = e; e = a; a = temp; } // if(b>c){ temp = c; c = b; b = temp; } if(b>d){ temp = d; d = b; b = temp; } if(b>e){ temp = e; e = b; b = temp; } if(b>a){ temp = a; a = b; b = temp; } // if(c>d){ temp = d; d = c; c = temp; } if(c>e){ temp = e; e = c; c = temp; } if(c>a){ temp = a; a = c; c = temp; } if(c>b){ temp = b; b = c; c = temp; } // if(d>e){ temp = e; e = d; d = temp; } if(d>a){ temp = a; a = d; d = temp; } if(d>b){ temp = b; b = d; d = temp; } if(d>c){ temp = c; c = d; d = temp; } // if(e>a){ temp = a; a = e; e = temp; } if(e>b){ temp = b; b = e; e = temp; } if(e>c){ temp = c; c = e; e = temp; } if(e>d){ temp = d; d = e; e = temp; } printf("The largest is %d\n",a); printf("The smallest is %d\n",e); }直接取大小:
#include <stdio.h> main() { int a1, a2, a3, a4, a5; int min, max; while(1){ printf("Please enter five integers: "); scanf("%d%d%d%d%d", &a1, &a2, &a3, &a4, &a5); min = a1; max = a1; if(a2 > max) max = a2; if(a3 > max) max = a3; if(a4 > max) max = a4; if(a5 > max) max = a5; if(a2 < min) min = a2; if(a3 < min) min = a3; if(a4 < min) min = a4; if(a5 < min) min = a5; printf("The largest is %d\n", max); printf("The smallest is %d\n\n", min); } }
沒有留言:
張貼留言