鱼C论坛

 找回密码
 立即注册
查看: 2210|回复: 2

求解题目啊。。

[复制链接]
发表于 2011-12-18 16:32:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
原题,求出10个任意数字。去除最大数与最小数,求出另外8个数的和与平均数。结果异常。
#include<stdio.h>
main()
{
        int a[10];
        int i,j,k,max,min,sum=0;
        float averg;
        for(i=0;i<10;i++)
        {
                scanf("%d",&a[i]);
        }
        for(i=0;i<10;i++)
        {
                if(a[i]>max)
                        max=a[i];
                if(a[i]<min)
                        min=a[i];
                sum+=a[i];
        }
        for(i=0;i<10;i++)
        {
                sum-=(max+min);
        }
        averg=sum/8.0;
        printf("%f\n",averg);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-18 20:18:21 | 显示全部楼层
这么多大牛居然没人回答,那我来说说
先说你程序的定义的变量过多,都没用上,然后你max,min,用的时候必须赋值,否则就是一个垃圾数值。

# include <stdio.h>

int main(void)
{
        int i,sum,max, min, a[10];
        float averg;
        printf("please enter the number:");
        for(i = 0; i < 10; i++)
        {
                scanf("%d", &a[i]);       
        }
        sum = 0;
        max = 0;
        min = 0;
        for(i = 0; i < 10; i++)
        {
                if(a[i] > max)
                max = a[i];
                if(a[i] < min)
                min = a[i];       
                       
                sum += a[i];       
        }
        printf("%f\n", (sum-min-max)/8.0);
       
        return 0;
}

这是我写的,不足之处请指教:D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-18 21:19:19 | 显示全部楼层
初始值
max = 0;
min = 0;
不合适,
max=min=a[0];更好,不解释。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 08:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表