C语言:编写一个程序,实现冒泡排序,将输入的n个整数按降序进行排序,并输出。
输入:第一行为正整数N,表示有N组输入;每组输入包含两行,第一行为整数个数n,第二行为n个整数。
输出:每组输入对应一行输出,输出降序排序后的整数,整数间用空格隔开,最后一个整数后无空格。
注意:使用冒泡排序;使用指针!!!对数组元素进行操作。
样例输入
3
6
1 2 3 4 5 6
5
84 6768 48 878 8
3
528 98 40
样例输出
6 5 4 3 2 1
6768 878 84 48 8
528 98 40 展开
如图所示:
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("\n");
}
return 0;
}