当前位置: 代码迷 >> C语言 >> 菜鸟初学者又请教!!
  详细解决方案

菜鸟初学者又请教!!

热度:107   发布时间:2005-08-20 19:16:00.0
菜鸟初学者又请教!!
输入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();
}
----------------解决方案--------------------------------------------------------
  相关解决方案