菜鸟初学者又请教!!
输入10个数,输出最大的main()
{
int i;
float v,a[10];
for(i=0;i<=9;i++)
{printf("a[%d]=:",i)
scanf("%f",&a[i]);
}
for(i=1;i<=9;i++)
{if(a[i]<a[i-1])
v=a[i],a[i]=a[i-1],a[i-1]=v;
}
printf("%f",a[9]);
}
帮我看看有什么问题,
输入10个数也出不了正确结果
[此贴子已经被作者于2005-8-20 20:15:00编辑过]
----------------解决方案--------------------------------------------------------
问题还真多啊,光scanf语句就有两处问题,应该是
for(i=0;i<10;i++)
scanf("%f",&a[i]);
另外,你是把教大的数付给后面的那个数,所以应该printf("%f",a[10]);
习惯也蛮重要的,建议以后如#include"stdio.h"这样的东西不要省略
----------------解决方案--------------------------------------------------------
不对吧,应该是i<=9.后面也是a[9]才对吧?数组是从a[0]开始啊
----------------解决方案--------------------------------------------------------
最上面的程序我改过了,应该没问题了。帮我看看没有更简单的方法做。我才学到数组。函数和指针都没有学啊,要用我学过的方法做
----------------解决方案--------------------------------------------------------
不好意思,大意一下,
----------------解决方案--------------------------------------------------------
你是括号的地方错了哈,还有数据交换的时候每一句末尾都要用分号
for(i=1;i<=9;i++)
{if(a[i]<a[i-1])
v=a[i],a[i]=a[i-1],a[i-1]=v;
}
应该改为:
for(i=1;i<=9;i++)
if(a[i]<a[i-1])
}
v=a[i];a[i]=a[i-1];a[i-1]=v;
}
----------------解决方案--------------------------------------------------------
main()
{
int a[10],i,max;
printf("input 10 integer:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=0;i<10;i++)
if(a[i]<a[i+1])max=a[i+1];
printf("max=%d",max);
getch();
}
----------------解决方案--------------------------------------------------------