C语言,5个数按从大到小排序,冒泡法 用c语言数组定义5个数使用冒泡排序 从小到大

\u4efb\u610f\u8f93\u51655\u4e2a\u6574\u6570\uff0c\u5229\u7528\u5192\u6ce1\u6392\u5e8f\u6cd5\u6392\u5e8f(\u4ece\u5927\u5230\u5c0f)

#include
main()
{
int a[6]; /*\u5b9a\u4e49\u4e00\u4e2a\u6574\u578b\u6570\u7ec4\u3002*/
int i,j,temp; /*\u5b9a\u4e49\u5faa\u73af\u53d8\u91cf\u548c\u4e2d\u95f4\u53d8\u91cf\u3002*/
for(i=0;i<5;i++) /*\u8fdb\u884c\u5faa\u73af\u8f93\u5165\u53d8\u91cf\u3002*/
{
printf("please enter a number:\n"); /*\u8f93\u51fa\u63d0\u793a\u3002*/
scanf("%d",&a[i]); /*\u8f93\u5165\u53d8\u91cf\u8d4b\u503c\u7ed9\u6570\u7ec4\u53d8\u91cf\u3002*/
}
for(i=0;i<5;i++) /*\u8fdb\u884c5\u6b21\u5faa\u73af\u3002*/
{
for(j=i+1;j<5;j++) /*\u5faa\u73af\u6bd4\u8f83\u5269\u4f59\u7684\u53d8\u91cf\u3002*/
{
if(a[i]<a[j]) /*\u5982\u679c\u524d\u9762\u4e00\u4e2a\u6570\u6bd4\u540e\u9762\u6570\u5c0f\uff0c\u4ea4\u6362\u4e24\u4e2a\u6570\u7684\u503c\u3002*/
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<5;i++) /*\u5faa\u73af\u8f93\u51fa\u6392\u5e8f\u4ee5\u540e\u7684\u7ed3\u679c\u3002*/
{
printf("%d ",a[i]);
}
}

\u6269\u5c55\u8d44\u6599
#include #define N 5
using namespace std; void bubble(int a[],int n){for(int i=0;i<n;++i)
for(int j=0;j<n;++j){if(a[i]< a[j]){
int t=a[i];a[i]=a[j];
a[j]=t;
} }}
int main(){ int arr[N];
int i=0; while(i!=N){ //\u5faa\u73af\u8f93\u5165//cout<<s<<endl;//\u8c03\u8bd5\u7528
cin>>arr[i]; ++i;
}bubble(arr,N);
for(i=0;i!=N;++i)cout<<arr[i]<<" ";
return 0;
}\u53c2\u8003\u8d44\u6599\uff1a\u767e\u5ea6\u767e\u79d1 - \u5192\u6ce1\u6392\u5e8f

#includeint BubbleSort(int a[], int len){ int i, j, temp, CompareNum=0; for(i=0; i a[j+1]) // \u5c06\u8f83\u5927\u7684\u503c\u653e\u5230\u540e\u9762 { temp = a[j];a[j] = a[j+1];a[j+1] = temp;}CompareNum++; // \u6bd4\u8f83\u6b21\u6570\u52a01}return CompareNum;}void main(){ int i; int a[] = {12, 5, 23, 6, 2}; BubbleSort(a, 5); // 5\u8868\u793a\u6570\u7ec4\u957f\u5ea6 for(i=0; i<5; i++) { printf("%d ", a[i]); } printf("\n");}

#include<stdio.h>

#define N 5

void main()

{   int a[N],i,j,t;

printf("请输入5位学生的成绩
");

for(i=0;i<N;i++)

scanf("%d",&a[i]);

for(i=0;i<N-1;i++)

{for(j=0;j<N-1-i;j++)

if(a[j+1]<=a[j]){

t=a[j];a[j]=a[j+1];a[j+1]=t;

}

}

printf("成绩由高到低的排序为:
");   

for(i=0;i<N;i++)

printf("%d ",a[i]);

}

算法稳定性

冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。

以上内容参考:百度百科-冒泡排序



正确的程序代码如下:

#include<stdio.h>
#define N 5
void main()
{ int a[N],i,j,t;
printf("请输入5位学生的成绩
");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{for(j=0;j<N-1-i;j++)
if(a[j+1]<=a[j]){
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
printf("成绩由高到低的排序为:
");
for(i=0;i<N;i++)
printf("%d ",a[i]);
}

 修改两个地方,一是{从if的前面移动到后面,而是判断的内容j和j+1交换。



if判断语句写错了 i j 注意一下就可以了

  • c璇█:鐢ㄤ竴缁存暟缁 杈撳叆浜斾釜鏁 浣夸粬浠庡皬鍒澶ф帓搴 ,鐒跺悗鍐嶈緭鍏ヤ竴涓暟...
    绛旓細include <stdio.h>int main(){int a[10];int temp;printf("杈撳叆5涓暟锛歕n");for(int i=0;i<5;i++){ printf("绗%d涓暟",i+1);scanf("%d",&a[i]);} for( i = 0;i<5;i++)for(int j = i+1;j<5;j++)if(a[i]>a[j])//闄嶅簭鍙鏀瑰彉杩欓噷鐨勫ぇ浜庡彿灏辫浜唟temp = ...
  • 浠庨敭鐩樿緭鍏浜斾釜鏁颁粠澶у埌灏忔帓搴鍚庤緭鍑虹敤c鍔犲姞绋嬪簭鎬庝箞鎵?
    绛旓細include <iostream> using namespace std;int main(){int i,j,t,n=5,a[5];for(i=0;i<n;i++)cin>>a[i];for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(a[j]>a[j+1]){t=a[j]; a[j]=a[j+1]; a[j+1]=t;} for(i=0;i<n;i++)cout<<a[i]<<" ";co...
  • C璇█ 浜斾釜鏁版帓搴
    绛旓細include<stdio.h> void sort(int a[]){int i,j,t;for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;} } int main(){int i,j,a[6][5];for(i=0;i<6;i++){ for(j=0;j<5;j++)scanf("%d",&a[i][j]);sort(a[i...
  • C璇█,杈撳叆5涓鏁存暟姹傚嚭鏈澶ф暟,浠庡皬鍒板ぇ鎺掑垪,鎬ユ眰!!!
    绛旓細for(i=0;i<5;i++)//鐢╢or寰幆杈撳叆5涓暟锛鍒濆鍖栨暟缁 scanf("%d",&a[i]);for(int n=0;n<4;n++)for(int m=n+1;m<5;m++)if(a[n]>a[m])//浠庡皬鎵撳埌鎺掞紝濡傛灉a[m]姣旀渶灏忕殑杩樺皬 { int temp=a[n];// a[n]=a[m];// a[m]=temp;//鍒欎氦鎹 } printf("鎺掑簭鍚庣粨鏋...
  • C璇█,灏5涓暟浠庡ぇ鍒板皬鎺掑簭,瑕佺敤鍒板嚱鏁扮殑澹版槑瀹氫箟;鐜板湪鎬濊矾寰堜贡銆傚笇鏈...
    绛旓細p); for(i=0;i<5;i++) printf("%5d",a[i]);}void fun(int *p){ int t; for(int i=0;i<5;i++) for(int j=0;j<4-i;j++)//j鏈澶у彧闇瑕佸埌4锛屾瘡娆″惊鐜繃鍚庯紝闇瑕佹瘮杈冪殑鏁板氨浼氬噺灏戜竴涓 if(*(p+j)>*(p+j+1))//鎶婃渶澶ч偅涓滄矇搴曗 {t=*(p+j+1);...
  • 鎬庝箞鐢c璇█绋嬪簭姣旇緝浜斾釜鏁鐨勫ぇ灏,杩樿浠庡ぇ鍒板皬鎺掑簭,姹傚ぇ绁炴寚鐐!
    绛旓細//#include "stdafx.h"//vc++6.0鍔犱笂杩欎竴琛.include "stdio.h"void main(void){ int a[5],i,j,k;printf("Type 5 integers...\n");for(i=0;i<5;scanf("%d",a+i++));for(i=0;i<5;i++){ for(k=i,j=k+1;j<5;j++)if(a[k]<a[j]) k=j;if(k!=i){ j=a[...
  • C璇█鏁扮粍,杈撳叆浜斾綅鏁存暟,鎸夊ぇ灏鎺掑簭?
    绛旓細浣犵殑c璇█绋嬪簭鎴戝府浣犳敼濂戒簡(瑙佸浘,鏀瑰姩鐨勫湴鏂硅娉ㄩ噴,浠呬袱澶)灏辨槸scanf鍑芥暟涓殑鍙橀噺a[i]鍓嶉潰娌″姞鍙栧湴鍧绗
  • C璇█:杈撳叆5涓暟,鐢ㄨ皟鐢ㄥ嚱鏁扮殑鏂规硶,浠庡皬鍒澶ф帓搴 鐢ㄧ畝鍗曠偣鐨
    绛旓細printf("璇疯緭鍏浜斾釜鏁(閫楀彿闅斿紑)锛");scanf("%f,%f,%f,%f,%f",&a[0],&a[1],&a[2],&a[3],&a[4]);sort(a,5);printf("鎺掑簭鍚庝负锛");for(i=0; i<5; i++)printf("%.2f ",a[i]);printf("\n");} 鎴栬呬笁涓暟鐨勩倂oid sort(int *a, int *b, int *c){ int tmp...
  • c璇█ 浠绘剰杈撳叆5涓暟浠庡皬鍒板ぇ鎺掑垪 绋嬪簭鎬庝箞鍐?
    绛旓細int i = 0 , j = 0; /*璁℃暟鍣*/ int m = 0 ; /*鐢ㄤ簬鏍囪瘑鏈灏忕殑閭d釜鏁*/ int n; /*鐢ㄤ簬涓や釜鏁扮殑浜ゆ崲锛屼腑闂村*/ /*浠庨敭鐩樻帴鏀5涓暟*/ for( i = 0 ; i < 5 ; i ++){ printf("璇疯緭鍏ョ%d涓暟", i + 1);scanf("%d",&a[i]);} /*鎺掑簭绠楁硶锛氶夋嫨鎺掑簭*/ f...
  • c璇█闂 1.浠庨敭鐩橀『搴忚緭鍏浜斾釜浠庡皬鍒澶ф帓搴鐨勬暣鏁 鐒跺悗鍐嶈緭鍏ヤ竴涓暣鏁...
    绛旓細include<stdio.h> int main(){int i,t,a[6],x;printf("璇疯緭鍏浜斾釜浠庡皬鍒板ぇ鐨勬暣鏁帮細");for(i=0;i<5;i++)scanf("%d",&a[i]);printf("璇疯緭鍏ヤ竴涓鎻掑叆鐨勬暣鏁帮細");scanf("%d",&x);for(i=4;i>=0&&a[i]>x;i--)a[i+1]=a[i];a[i+1]=x;printf("鎻掑叆鍚庣殑鏁扮粍鏄:\...
  • 扩展阅读:从小c到大 ... c语言四个数字排序 ... 扫一扫题目出答案 ... c语言给三个数字排序 ... cnc编程必背50个程序 ... c c++ c# ... c语言按从小到大输出 ... c语言三个数从小到大 ... 5个数字从大到小排序 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网