输入一个正整数n(1<n<=100),再输入n个整数,用选择法或者冒泡排序法对这n个数进行从小到大排序

# include <stdio.h>
int main()
{
int b[100],i,c,j,n;
printf("输入正整数n(0<n<100): \n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&b[i]);
}
for(j=1;j<n;j++)
for(i=1;i<=n-j;i++)
{
if(b[i]>b[i+1])
{
c=b[i];
b[i]=b[i+1];
b[i+1]=c;
}
}
printf("排序之后:\n");
for(i=1;i<=n;i++)
{
printf("%d\n",b[i]);
}
return 0;
}

上面的题目但是不知道什么意思,有没有高手帮忙下,谢谢了。急用

是这样的
现是输入一个正整数 比方10
那么下面的for就是循环10次 就是输入
而下面的是冒泡排序
也就是说10个数有9趟比较 而第1趟有9次第2趟有8次……
如果b[i]>b[i+1]就交换值追问

能不能每行加个注释啊。

追答

# include
int main()
{
int b[100],i,c,j,n;
printf("输入正整数n(0b[i+1]) //如果b[i]>b[i+1] 交换数据
{
c=b[i];
b[i]=b[i+1];
b[i+1]=c;
}
}
printf("排序之后:\n");
for(i=1;i<=n;i++)
{
printf("%d\n",b[i]);
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-17
输入n个整数,用冒泡法对这n个整数进行从大到小排序
相似回答