首页 > 用户发贴区 > 编程问题提问区 > 请各位前辈看看我这程序怎么了
2008
07-29

请各位前辈看看我这程序怎么了

目的:用气泡法对10个数排序(由小到大)


运行程序后成了随机输出了,改了半天了,还是没成(新手还请帮忙解答下


#include “stdio.h”
#define N 10
void main()
{
int a[N+1],t,i,j;
printf(“shu ru 5 ge shu:\n”);
for(i=1;i<=N;i++)
scanf(“%d”,&a[i]);
for(j=1;j<=N;j++)
  for(i=1;i<=N-j;i++)
{if(a[i]>a[i+1])
t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf(“shu chu shu ju:\n”);
for(i=1;i<11;i++)
printf(“%d”,a[i]);
}


请各位前辈看看我这程序怎么了》有 5 条评论

  1. whos 说:

    #include “stdio.h”
    int main()
    {
    int a[10],t,i,j;
    clrscr();   /*清屏函数*/
    printf(“Please input the numbers:\n”);
    for(i=0;i<10;i++)
    scanf(“%d”,&a[i]);
    for(i=0;i<10;i++)
     for(j=0;j<9-i;j++)
     if(a[j]>a[j+1])
     {t=a[j];a[j]=a[j+1];a[j+1]=t;}
    printf(“The numbers:\n”);
     for(i=0;i<10;i++)
     printf(“%d “,a[i]);

  2. emily 说:

    #include “stdio.h”
    #define N 10

    void main(void)
    {
     int a[N],t,i,j;
     printf(“input:\n”);

     for(i=0;i<N;i++)
      scanf(“%d”,&a[i]);

     for(j=0;j<=N;j++)
     {
      for(i=0;i<=N-j;i++)
      {
       if(a[i]>a[i+1])
       {
        t=a[i];
        a[i]=a[i+1];
        a[i+1]=t;
       }
      }
     }
     //我认为如果循环多了,最好都用{},不然程序大了就会显得很乱
     printf(“output:\n”);

     for(i=0;i<N;i++)
      printf(“%d  “,a[i]);
     //这种循环里面东西很少,只有一个函数,也可以不加{}
    }

  3. whos 说:

    程序小的话一眼就看出来了,不加多余的{}应该无所谓。

    我是这样认为的。

  4. emily 说:

    我认为不管程序大小,习惯很重要

  5. whos 说:

    同意楼上的观点。

留下一个回复