学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

新手大家帮忙看下啊

新手大家帮忙看下啊

#include "stdio.h"
#include "conio.h"
void max(int a[11])
{  int i,j,t;
   for(i=1;i<=9;i++)
   for(j=1;j<=10-i;j++)
   if(a[j]>a[j+1])
   {t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
main()
{   int i;

    int a[11];
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    max(a);
    for(i=0;i<10;i++)
    printf("%d\t",a[i]);
    getch();
}到底哪错了?

TOP

i=1的时候j最大是9,j+1等于10,数组越界.
前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。

TOP

那要怎么写啊?

..那要怎么写啊?

TOP

#include "stdio.h"
void max(int a[11])
{  int i,j,t;
   for(i=0;i<10;i++)
   for(j=0;j<10-i;j++)
   if(a[j]>a[j+1])
   {t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
void main()
{   int i;

    int a[11];
    for(i=0;i<11;i++)
    scanf("%d",&a[i]);
    max(a);
    for(i=0;i<11;i++)
    printf("%d\n",a[i]);
}
多看书

TOP

发新话题