为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这段代码打出来是空的?与书上运行结果不一样?

为什么这段代码打出来是空的?与书上运行结果不一样?

noe12138 2018-11-14 09:08:58
/* Note:Your choice is C IDE */#include "stdio.h"#define N 30void main(){ int i,j,temp,a[N]; printf("Please input class scores:\n");for(i=0;i<N;i++)scanf("%d",&a[i]); for(j=i+1;j<N-1;j++)  for(j=i+1;j<N;j++)   if(a[i]<a[j])   {   temp=a[i];   a[i]=a[j];   a[j]=temp;   }   printf("class scores other:");   for(i=0;i<N;i++)   {   if(i%6==0)    printf("\n");     printf("%3d",a[i]);   }   }
查看完整描述

1 回答

?
Cfans丶夏

TA贡献5条经验 获得超2个赞

亲,是

for(i = 0; i < N - 1; i++)
    for(j = i + 1; j < N; j++)
        if(a[i] < a[j])
        {
            temp = a[i];
            a[j] = a[i];
            a[i] = temp;
        }

普通的排序算法。

代码重要的是理解,是懂得如何与计算机沟通,相对排序经典的算法还有冒泡算法

for(i = 0; i < N - 1; i++)
    for(j = 0; j < N - 1 - i; j++)
        if(a[j] < a[j + 1])
        {
            temp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = a[j];
        }

还有如果运用的是C语言自带的库的话,尽量用#include <stdio.h> 虽然没有严格要求,但是这还是有区别的。


查看完整回答
反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 1738 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信