帮我看看..为什么在C-Free上得不出正确的答案啊....我是菜鸟
#include <stdio.h>void input(int a[11])
{
int i;
for(i=1;i<=10;i++);
scanf("%d",&a[i]);
}
void bijiao(int a[11])
{
int i,j,t;
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
void output(int a[11])
{
int i;
for(i=1;i<11;i++)
printf("%d",a[i]);
}
main()
{
int a[11];
printf("please input 10 numbers:\n");
input(a);
printf("\n");
bijiao(a);
printf("the sorted number:\n");
output(a);
}
----------------解决方案--------------------------------------------------------
这个程序是做什么的?
----------------解决方案--------------------------------------------------------
奇怪,为什么得不到排序的结果呢?
----------------解决方案--------------------------------------------------------
input(a);
printf("\n");
bijiao(a);
printf("the sorted number:\n");
output(a);
传地址...
int a[11],形参是数组;
----------------解决方案--------------------------------------------------------
以下是引用不死鬼鬼在2005-12-9 17:19:00的发言:
#include <stdio.h>
void input(int a[11])
{
int i;
for(i=1;i<=10;i++); //for循环后多了一个“;”
scanf("%d",&a[i]);
}
void bijiao(int a[11])
{
int i,j,t;
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
void output(int a[11])
{
int i;
for(i=1;i<11;i++)
printf("%d",a[i]);
}
main()
{
int a[11];
printf("please input 10 numbers:\n");
input(a);
printf("\n");
bijiao(a);
printf("the sorted number:\n");
output(a);
}
#include <stdio.h>
void input(int a[11])
{
int i;
for(i=1;i<=10;i++); //for循环后多了一个“;”
scanf("%d",&a[i]);
}
void bijiao(int a[11])
{
int i,j,t;
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
void output(int a[11])
{
int i;
for(i=1;i<11;i++)
printf("%d",a[i]);
}
main()
{
int a[11];
printf("please input 10 numbers:\n");
input(a);
printf("\n");
bijiao(a);
printf("the sorted number:\n");
output(a);
}
----------------解决方案--------------------------------------------------------
去掉那个';'还是不行哦.........答案是不正确的......这个不是函数调用的就可以......
#include <stdio.h>
main()
{
int a[11];
int i,j,t;
printf("input 10 number:\n") ;
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the sorted number:\n");
for(i=1;i<11;i++)
printf("%d",a[i]);
}
[此贴子已经被作者于2005-12-10 11:44:36编辑过]
----------------解决方案--------------------------------------------------------
可能是我那个函数调用的写错了..可是哪错了???请达人指正.........
[此贴子已经被作者于2005-12-10 11:46:08编辑过]
----------------解决方案--------------------------------------------------------
void input(int a[])
我觉得调用子函数的时候
int a[11]应该是形式参数,不能定义其大小
该成以上样式应该可以
----------------解决方案--------------------------------------------------------
指不指定大小都是没有关系的啊.......C编译对形参数组大小不做检查...只是将实参数组的首地址传给形参数组...
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void input(int a[11])
{
int i;
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
}
void bijiao(int a[11])
{
int i,j,t;
for(j=1;j<=10;j++)
for(i=j;i<=10;i++)
{
if(a[i]<a[j])
{
t=a[j];a[j]=a[i];a[i]=t;
}
}
}
void output(int a[11])
{
int i;
for(i=1;i<11;i++)
printf("%d\n",a[i]);
}
main()
{
int a[11];
printf("please input 10 numbers:\n");
input(a);
printf("\n");
bijiao(a);
printf("the sorted number:\n");
output(a);
getch();
}
这样就对了
----------------解决方案--------------------------------------------------------