首页
社区
课程
招聘
[求助]求教,代码代码中 p=(double)(sum-min-max)/(n-2); (double)是什么意思? 为什么要加上它?
发表于: 2014-10-23 23:14 8042

[求助]求教,代码代码中 p=(double)(sum-min-max)/(n-2); (double)是什么意思? 为什么要加上它?

2014-10-23 23:14
8042
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
#include<stdio.h>
int main(void)
{
        int i,n,a,max,min,sum;
        double p;
        while(scanf("%d",&n)!=EOF)
        {
                max=-1;
                min=110;
                sum=0;
                p=0;
                for(i=1;i<=n;i++)
                {
                        scanf("%d",&a);
                        max=max>a?max:a;
                        min=min<a?min:a;
                        sum=sum+a;
                }
                p=(double)(sum-min-max)/(n-2);
                printf("%.2f\n",p);
        }
        return 0;
}
2014-10-23 23:16
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
3
(double)就是将后面的运算结果强制转换成double类型,即双精度浮点。
2014-10-23 23:26
0
雪    币: 376
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
如果这样 (double*) 什么意思 再加个 *(double*)
2014-10-24 08:05
0
雪    币: 19
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
(double*) 意思是申明的是一个double类型的指针,  *(double*) 意思是访问一个指向double指针地址内的内容.
2014-10-24 08:50
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
6
同5楼,意思是将后面的表达式结果转换为double指针,并取值。
2014-10-24 11:38
0
雪    币: 96
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个是去掉一个最高分,最低分取平均分么
2014-10-24 13:56
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
正解
2014-12-9 17:48
0
游客
登录 | 注册 方可回帖
返回
//