标题:一个关于double和float的问题程序
只看楼主
ensky_cy
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-9-26
结帖率:100%
 问题点数:0 回复次数:0 
一个关于double和float的问题程序
#include <stdio.h>

#define N 12
main()
{
    double a[]={1.5,4.6,7.8,9.2,7.4,6.5,7.0,9.8,8.7,21.7,15.6,34.3};
    void arr_add(double *p,int n);
    void odd_add(double *p,int n);
    void arr_max(double *p,int n);
    void arr_aver(double *p,int n);
    int n=N;
    double *pt=a;
    arr_add(pt,n);
    odd_add(pt,n);
    arr_max(pt,n);
    arr_aver(pt,n);
}

void arr_add(double *p,int n)
{
    int i;
    double sum=0;
    for(i=0;i<n;i++,p++)
        sum=sum+ *p;
    printf("the sum of %d elements is:",n);
    printf("%8.2f\n",sum);
}

void odd_add(double *p,int n)
{   
    int i;
    double sum=0;
    for(i=0;i<n;i+=2,p+=2)
        sum=sum+ *p;
    printf("the sum of odd elements is:",n);
    printf("%8.2f\n",sum);
}
void arr_max(double *p,int n)
{   
    int i;
    double max;
    max= *p;
    for(i=0;i<n;i++,p++)
        if(*p>max)max=*p;
        printf("the maximum of %d elements is:",n);
        printf("%8.2f\n",max);
}

void arr_aver(double *p,int n)
{   
    int i;
    double sum=0,ave;
    for(i=0;i<n;i++,p++)
        sum+=*p;
    ave= sum/n;
    printf("the average of %d elements is:",n);
    printf("%8.2f\n",ave);
}

以上程序在我的vista下运行可以,也没有错误,但将程序里所有double改为float,则会有很多"错误",但仍然有运行结果。
请点解一下,谢谢~!附一张提示截图。

错误提示.jpg (53.74 KB)
搜索更多相关主题的帖子: float double 
2008-10-19 22:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-239312-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.113363 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved