输入:第一行为正整数你,表示有n组输入,;每组输入包含两行,,第一行为整数个数n,第二行为n个整数。
输出:每组输入对应一行输出,输出降序排列后的整数,整数用空格隔开,最后一个整数后无空格。
如图所示:
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语言
参考C语言代码
#include<stdio.h>void bubblesort(int a[],int n)//n为数组a的元素个数
{
int i,j,temp;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if(a[i]<a[i+1])//数组元素大小按降序排列
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
void main()
{
int repeat, n;
int i, j;
int num[100];
scanf("%d",&repeat);
for(i = 0; i < repeat; i++)
{
scanf("%d",&n);
for(j = 0; j < n; j++)
{
scanf("%d",&num[j]);
}
bubblesort(num,n);
for(j = 0; j < n; j++)
{
printf("%d ",num[j]);
}
printf("\n");
}
}本回答被提问者和网友采纳