c语言,用冒泡法对10个数排序

作者&投稿:程琴 (若有异议请与网页底部的电邮联系)
c语言 用一个函数实现用冒泡法对十个整数升序和降序排列 麻烦写全些~


#include void sort1(int a[],int n){int i,j,t; for(i=0;ia[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}}void sort2(int a[],int n){int i,j,t; 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;}}int main(){int i,a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); printf("
"); sort1(a,10); for(i=0;i<10;i++) printf("%d ",a[i]); printf("

"); sort2(a,10); for(i=0;i<10;i++) printf("%d ",a[i]); printf("
"); return 0;}

代码如下(对10个整数进行升序排序):
#include<stdio.h>
int main()
{
int i,j,t,a[10]={5,4,8,3,6,9,7,222,64,88};
//排序
for(i=1;i<10;i++)//外循环控制排序趟数,n个数排n-1趟
{
for(j=0;j<10-1;j++)//内循环每趟比较的次数,第j趟比较n-i次
{
if(a[j]>a[j+1])//相邻元素比较,逆序则交换
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("排序后的结果是:
");
for(i=0;i<10;i++)
{
printf("%d",a<i>);
}
printf("
");
return 0;
}
冒泡法:
算法分析:如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较,在第j趟比较中要进行n-j次两两比较。比较的顺序从前往后,经过一趟比较后,将最值沉底(换到最后一个元素位置),最大值沉底为升序,最小值沉底为降序。

扩展资料:include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。

#include<stdio.h>
void main()
{
int a[10]; //定义一个数组既它的元素为10
int i,j,temp; //定义3个变量
printf("输入10个整数:\n\a");
for(i=0;i<10;i++)
scanf("%d",&a[i]); //依次输入10个整数
for(i=0;i<9;i++) //进行9轮排序
{
for(j=0;j<9-i;j++) //每轮进行9-i次交换
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1]; //大的沉底,小的上浮
a[j+1]=temp;
}
}
printf("排序结果:");
for(i=0;i<10;i++) //依次输出排序结果
printf("%d\t ",a[i]);
}


c语言有几种算法,分别能解决什么问题?
迭代就是用新计算的结果去代替以前的数,能解决多个数求和,累加等问题,例如:求1到100的和,用迭代思想;for(i=1;i<=100;i++)t=t+i;(用t+i代替前面的t)冒泡就是排序,让后面的数和前面的数比较大小,然后改变他们的顺序,得到我们想要的序列,一般解决排序和找特殊数等问题,例如:对1,...

用冒泡排序法对数据列31,17,34,4,22,18,29,1进行从小到大排序,经过三趟...
就是通过逐次比较相邻的两个数据的大小来完成。原则是从左到右比较两个相邻的数比较一次游标向前移动一位(比较结果如果前当前位置的数据大于相邻数据则交换),由于每次都会此次比较的最大数据显示到最后。程序如下:int[] arr = {31,17,34,4,22,18,29,1};int len=arr.length();int i=j=0;f...

c语言如何将一个数组中的数值排好顺序?
使用冒泡排序法进行编程:解释:1.第一个for循环:利用数组循环输入4个变量。2.第二个for循环:该循环的意思是如果a[0]>a[1]的话,两个变量的值交换,利用循环依次比较。要注意的是i<3,因为其中有i+1,i最大取到2,也就是i+1最大取到3才正确。3.第三个for循环:利用循环依次输出排序后的...

...分别运用选择排序法和冒泡排序法按值从小到大顺序排列
冒泡排序法:include<stdio.h> include<stdlib.h> include int main(){ srand((unsigned)time(NULL));int i,j,t,a[10];for(i = 0; i < 10; ++i){ a[i]=rand() % 50 + 1;} for(i=0;i<9;i++){ for(j=0;j<9-i;j++){ if(a[j]>a[j+1]){ t=a[j];a[j]=a...

java冒泡排序法代码
冒泡排序是比较经典的排序算法。代码如下:for(int i=1;i<arr.length;i++){for(int j=1;j<arr.length-i;j++){\/\/交换位置}

用冒泡排序法排列从1~100中随机抽取的六个数
排序不是随机数,随机函数是rand();

...然后采用冒泡排序法,按降序排序。(用冒泡排序法啊)
-如果第一个元素大于第二个,交换它们的位置。-对每一对相邻元素重复上述步骤,直到倒数第二个元素。-在下一轮中,只对前n-1个元素进行比较,因为最后一个元素已经被放到正确位置。-重复这个过程,直到整个数组有序。通过以上步骤,你的程序将成功实现从键盘输入10个整数并使用冒泡排序法进行降序排列。

编程题 利用冒泡法对50个整数按从小到大进行排序。求解呀~
思路:首先定义一个中间变量以便调换位置的时候保存数据。var tmp;\/\/中间变量 arr =array("50个数据");\/\/保存数据的数组 for(int i=1;i<=50;i++){ for(int j=0;j<50-i;j++){ if(arr[j]>arr[j+1]){\/\/如果当前值比后一个大,就换位 tmp = arr[j+1];arr[j+1]=arr[j];a...

用c语言定义一个大小为10的整型数组,利用冒泡排序法将数组元素从大到...
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } printf("排序后的结果为:"); for(i=0;i<10;i++) printf("%4d\\n",a[i]); printf("

用c语言 输入一个6个元素的数组,请分别用冒泡法和选择法对数组进行升...
1、新建一个163.php。2、输入php网页的结构(<?php?>)。3、声明PHP与浏览器交互的文件类型和编码。4、使用 array() 函数定义一个$numbers数组。5、使用 sort() 函数对数组 $numbers 中的元素进行排。6、使用 print_r() 函数,输出排序后的数组。7、运行网页,在浏览器中输出排序后的数组。

中站区19596585244: C语言用冒泡法和选择法对10个数进行排序 -
辟邵凌顶:[答案] 冒泡法: #define N 10 #include maopao(int a[N]) { int i,j,t; for(j=0;ja[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("排序后的数组为:\n"); for(i=0;i
中站区19596585244: C语言 用一个函数来实现对10个数进行冒泡排序 -
辟邵凌顶: #include "stdio.h" int exchange(char a[10]) //char {int i,j,t; for(i=0;i<10;i++)for(j=0;j<9-i;j++)if (a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} return(1); } void main() {char a[10]; //charprintf("please put numbers:");scanf("%s",a);exchange(a);printf("%s",a); }你是对10个字符串排序把

中站区19596585244: c语言中用冒泡排序法排列任意输入的10个数,用程序输出排列的具体过程,谢谢 -
辟邵凌顶: //回答补充,晕,原来是这样的过程,我把以前的过程删除了,下面:#include <stdio.h>#define N 10int main() {int nArray[N];int i=0,n=1; printf("请输入数组数据:\n");for(i=0;i<N;i++){scanf("%d",&nArray[i]);} printf("原始数...

中站区19596585244: 采用冒泡排序方法,对10个数按由小到大的顺序排列的c语言程序 -
辟邵凌顶: #include <stdio.h> int main() {int a[10];//用来存数据int i,j,temp; for(i = 0; i < 10; i ++)//输入10个数.scanf("%d",&a[i]);for (j = 0; j < 9; j++)//标准冒泡法排序for (i = 0; i < 9- j; i++){if(a[i] > a[i + 1]){temp = a[i];a[i] = a[i + 1];a[i + 1] = ...

中站区19596585244: 用C语言,随机输入10个整数,用冒泡排序法对这些整数进行从小到大排序,输出排序前和排序后的数的顺序. -
辟邵凌顶: C语言随机输入10个整数的源代码如下: #include"stdio.h" void fun(int a[]) { int i,j,t; for(i=0;i<9;i++) for(j=i+1;j<10;j++) if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;} } void main() { FILE *wf; int a[10]; int b[10]={9,10,11,12,1,2,3,4,0,1}; int c[10]={1,2,3,4,13,14,15,16,...

中站区19596585244: C语言冒泡法排序:任意输入十个数排序(从小到大;从大到小) -
辟邵凌顶: #include"stdio.h" //从小到大排序 void main() { int i,j,t,str[10]; printf("请给数组str赋初值:\n"); for(i=0;i<10;i++) //对数组进行初始化 scanf("%d",str[i]); for(j=1;j<10;j++) //开始进行排序 for(i=0;i<10-j;i++) if(str[i]>str[i+1]) // //因为是从小到...

中站区19596585244: c语言程序设计作业...1.冒泡法排序,2. 第二大整数,3.数组输出1.冒泡法排序输入10个数,用“冒泡法”对10个数排序(由小到大)这10个数字在100以... -
辟邵凌顶:[答案] # include int main() { int a[10],i,j,t; for(i=0;i

中站区19596585244: c语言冒泡法对10个整数排序 -
辟邵凌顶: #include<stdio.h> int main() { int i,j,temp; int a[10]={12,25,6,8,78,95,47,35,2,13}; for(i=0; i<10-1;i++){ //排序次数 for(j=0;j<10-1-i;j++){ //10-1-i到10-1已经排好 if(a[j]>a[j+1]){ //每次找到最大的,放在最后 temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } for(i=0;i<10;i++){ printf("%d ",a[i]); } printf("\n"); return 0; }

中站区19596585244: C语言程序题:用冒泡排序法对10个整数按照由小到大的顺序进行排序
辟邵凌顶: #include "stdio.h" void main() { int a[10]; printf("Input 10 numbers!"); printf("\n"); for(int i=0; i&lt;10; i++) { scanf("%d",&amp;a[i]); } printf("The result:"); for(i=9; i&gt;0; i--) { for(int j=0; j&lt;i; j++) { if(a[j] &gt; a[j+1]) { int temp = a[j]; a[j] = a[j+1]; ...

中站区19596585244: c语言程序怎样用用冒泡法按升序排列十个数? -
辟邵凌顶: #include void main() { int a[10],i,j,t; printf("Please input 10 numbers:\n"); for(i=0;i scanf("%d",&a[i]); for(i=0;i {for(j=0;j { a[i] t=a[i-1];a[i-1]=a[i];a[i]=t; } } for(i=0;i printf("%d",a[i]); } 应该是这个吧,有问题的话修改下就可以了.但是思路是这样的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网