|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- int main(void)
- {
- int a[100];
- int i,j,k,n;
- printf("请输入你所需要排序的数的个数:");
- scanf("%d",&n);
- for(i = 1;i <= n;i++)
- {
- scanf("%d",&a[i]);
- }
-
- for(i = 1;i <=n - 1;i++)
- {
- for(j = 1;j < n - i;j++)
- {
- if(a[j] < a[j+1])
- {
- k = a[j];
- a[j] = a[j + 1];
- a[j + 1] = k;
- }
- }
- }
- for(i = 1;i <= n; i++)
- printf("%d ",a[i]);
-
- getchar();
- getchar();
- return 0;
- }
复制代码
首先我不是大神,我只是曾经学过一遍C语言,我觉得代码如下就正确了,请你自己验证
- #include<stdio.h>
- int main(void)
- {
- int a[100];
- int i,j,k,n;
- printf("请输入你所需要排序的数的个数:");
- scanf("%d",&n);
- //getchar();
- for(i = 1;i <= n;i++)
- {
- scanf("%d",&a[i]);
- }
- for(i = 1;i <=n-1;i++)
- {
- for(j = 1;j <= n - i;j++)
- {
- if(a[j] < a[j+1])
- {
- k = a[j];
- a[j] = a[j + 1];
- a[j + 1] = k;
- }
- }
- }
- for(i = 1;i <= n; i++)
- printf("%d ",a[i]);
- getchar();
- return 0;
- }
复制代码
说下修改之处呀:只不过是在内层的for循环中加了一个等于号。至于为什么加等于号,我举个例子:比如你输入4-》就代表要有4个数进行排序-》那么第一次排序是1和2,2和3,3和4也就是3次循环-》所以规律是:第i次循环,循环n-i次,所以要加等于号!
那个如果我写的不对请回复你这代码不对
如果对了的话,给个最佳答案吧!谢谢啦 
|
|