小弟初学C语言,为什么这个程序显示不对。。。

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:30:10
#include "stdio.h"
#include "conio.h"

main()
{
int a[10]={96,84,56,78,45,92,87,75,74,63};
int b[11]={76,72,71,96,56,43,81,69,64,82,75};
int i;
void sort(int c[],int n);
sort(a,10);
sort(b,11);
printf("1 class after sorted:\n");
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n2 class after sorted:\n");
for(i=0;i<11;i++)
printf("%3d",a[i]);
getch();
}

void sort(int c[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(c[i]<c[j])
{
t=c[i];
c[i]=c[j];
c[j]=t;
}
}

结果为什么a正确 b重复a? 如何改?

#include "stdio.h"
#include "conio.h"

main()
{
int a[10]={96,84,56,78,45,92,87,75,74,63};
int b[11]={76,72,71,96,56,43,81,69,64,82,75};
int i;
void sort(int c[],int n);
sort(a,10);
sort(b,11);
printf("1 class after sorted:\n");
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n2 class after sorted:\n");
for(i=0;i<11;i++)
printf("%3d",a[i]); /*你这儿应该改成 printf("%3d",b[i]); 吧 你又输出一次a...*/
getch();
}

void sort(int c[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(c[i]<c[j])
{
t=c[i];
c[i]=c[j];
c[j]=t;
}
}

for(i=0;i<11;i++)
printf("%3d",a[i]); 这里你大意了
改为printf("%3d",b[i]);就好了

第二次输出的时候b数组写错了,写成a了

printf("\n2 class after sorted:\n&quo