C语言:编写一个程序,实现冒泡排序,将输入的n个整数按降序进行排序,并输出。

作者&投稿:鞠虾 (若有异议请与网页底部的电邮联系)
用c语言输入6个实数,用冒泡排序法降序排序并输出~

#include int main(){ int a[6],i,j; printf("请输入6个数字:
"); for(i=0;i<6;i++) scanf("%d",&a[i]); for(i=0;i<5;i++)//冒泡。 { for(j=0;j<5-i;j++) { if(a[j]<a[j+1]) { int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } printf("冒泡排序后:
"); for(i=0;i<6;i++) printf("%d ",a[i]); printf("
"); return 0;}

采用冒泡法降序排列10个输入数据的程序如下:

先定义一个长度为10的数组a[],10个数据由键盘输入,从第一个数开始,两两一组进行判断,因为要求是降序排列,因此将两个数中小的向后移动,每个数要比较的次数为9-数的下标。比较完成后将数组依次输出。
输入10个数据,程序运行结果:

扩展资料:
冒泡排序算法的原理如下:
1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个。
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

如图所示:



short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)


扩展资料:

for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:

for循环体语句 。(其中;不能省略)

表达式1为初值表达式,用于在循环开始前为循环变量赋初值。

表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。

表达式3为循环控制变量修改表达式,它使for循环趋向结束。

循环体语句是在循环控制条件成立的情况下被反复执行的语句。

但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。

先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。

for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。

参考资料来源:百度百科-c语言



#include <stdio.h>

const int MAXSIZE = 100;

int main() {
int i,j,t,n,N,a[MAXSIZE];
scanf("%d",&N);
while(N--) {
scanf("%d",&n);
for(i = 0; i < n && i < MAXSIZE; ++i)
scanf("%d",&a[i]);
for(i = 0; i < n - 1; ++i) {
for(j = i + 1; j < n; ++j) {
if(a[i] < a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(i = 0; i < n; ++i)
printf("%d ",a[i]);
printf("
");
}
return 0;
}


用C语言写一个小程序!
答:gotoxy(1,1);printf("|---|");gotoxy(1,2);printf("| money management system(C1.0) 2000.03 |");gotoxy(1,3);printf("|---|");gotoxy(1,4);printf("| -- money records -- | -- today cost list -- |");gotoxy(1,...

c语言编写程序,模拟用户注册和登录的过程,实现用户的注册和登录_百度知 ...
答:include<stdlib.h> include<string.h> int main(){ char username[20];char password[20];char s1[20],s2[20];int n=0;printf("---\n1 注册\n2 登录\n0 退出\n---\n 请选择(0-2)\n");scanf("%d",&n);while(n==1){ char usernametmp[20];//tmp作为临时保存单位 char pa...

c语言编写一个程序,随机产生100个数,查找最大的数和最小数
答:include"stdio.h"include"stdlib.h"main(){ int a[100];int i,j=0;int c,b;printf("array:\n");for(i=0;i<100;i++){ a[i]=rand()/100;;j=j+1;if (j==10){ j=1;printf("\n");} printf("%d ",a[i]);} /*随机产生数组*/ c=a[0];b=a[0];for(i=1;i<...

编写一个C语言程序
答:c[i]=a[i]*b[i];} } int main(){ int n,*a,*b,*c,i;printf("输入矢量n:");scanf("%d",&n);a=(int *)malloc(sizeof(int)*n);b=(int *)malloc(sizeof(int)*n);c=(int *)malloc(sizeof(int)*n);printf("输入一位数组a:");for(i=0;i<n;++i){ scanf("%d",...

如何用c语言编写一个程序,实现按从大到小的顺序排序输出10个数
答:用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:include<stdio.h> int main(){ int i,j,a[10],t;printf("输入数");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...

编写一个c程序实现使用printf函数分三行输出自己的基本信息姓名性别学 ...
答:代码如下:在c语言中,【\n】表示换行 include<stdio.h> int main(void){ printf("姓名\n性别\n学校\n");return 0;}

C语言编写一个程序,急用!!高分悬赏(正确答案追加分数)
答:include <stdio.h> include <stdlib.h> include <conio.h> include void Menu();void Plus();void Minus();void Multiply();void Dir();int main(){ int n, flag = 0;while(1){ Menu();do { flag = 0;scanf("%d", &n);switch(n){ case 1: Plus(); break;case 2: Min...

c语言 编写程序
答:链表创建使用creat函数,每调用一次创建一个节点。第一次调用函数会自己创建头节点内存。打印输出部分,只要打印第一个节点,只要stuHead->next就可以了。我这里写循环里,是演示遍历链表,你把break去掉就是打印整个链表。include<stdio.h> include<malloc.h> typedef struct stuInfo { int id;//学号 ...

用C语言编写一个程序,从文件data. txt读入整数n后,从内存中分配存储 n...
答:以下是一个使用C语言动态数组实现的程序,用于读取指定数量的双精度实数(从文件data.txt中),并计算它们的平均值:```c include <stdio.h> include <stdlib.h> // 包含动态分配内存的函数 int main() { int n;double *arr; // 定义一个指向双精度动态数组的指针 double sum = 0, avg;//...

用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数_百 ...
答:源程序代码如下:include "pch.h"define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要 include<stdio.h> int main(){ char c = 0;//定义输入字符变量 int num_count = 0;//数字个数 int bigalp_count = 0;//大写字母个数 int littlealp_count = 0;//小写字母个数 int emp_count...