| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2397 人关注过本帖
标题:一道关于求平均数四舍五入的问题。求助!
只看楼主 加入收藏
旭日孤帆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:180
注 册:2012-1-3
收藏
得分:0 
回复 18楼 kuangfengjiw
嘿嘿,谢谢哥哈!(是哥还是姐呀?姑且先叫哥吧)
还想请教一下,在输入当中,如何能够在按两次回车的时候计算出平均值呀!
下面是我写的,在输入的时候要多输入一个0,虽然不影响结果,但影响美观呀!
#include "stdio.h"
main()
{   float aver,a[10];
    int i=0,all=0;

   for(i=0;i<10;i++)
   {
       scanf("%f",&a[i]);
       if(a[i]==0)break;
       all+=a[i];
   }

 aver=(float)all/i;
    printf("aver=%.2f",aver);
}
2012-01-03 19:08
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
收藏
得分:0 
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main()
{   double all=0, fcom,result;
    int j=0,i=0,n;
    char ch,z[20];
    printf("输入数值,以'#'结束\n");
    ch=getchar();
    while(ch!='#')
    {
      if(ch>='0'&&ch<='9')
         {
           j = 0;
           do                          
           {
                z[j++] = ch;                        
                ch = getchar();                     
           }while(ch>='0' && ch <='9' || ch=='.');
           if(ch!='\n') {printf("输入错误\n"); exit(1);}
           else
           {
                z[j] =0;  
                all+=atof(z);
                i++;
               memset(z,0,20);
           }
          }
      else {printf("输入错误\n"); exit(1);}
     ch=getchar();
    }
    printf("精确到小数点后第几位:");
    scanf("%d",&n);
    fcom =pow(10,n);
    if(all/i*fcom-(int)(all/i*fcom)>=0.5)
    result=((int)(all/i*fcom+1))/fcom;
   else  result=((int)(all/i*fcom))/fcom;
   printf("平均值是: ");
   switch(n)
   {
   case 0: printf("%.0f\n",result);break;
   case 1: printf("%.1f\n",result);break;
   case 2: printf("%.2f\n",result);break;
   case 3:printf("%.3f\n",result);break;
   case 4:printf("%.4f\n",result);break;
   case 5:printf("%.5f\n",result);break;
   case 6:printf("%.6f\n",result);break;
   case 7:printf("%.7f\n",result);break;
   default:printf("error\n");break;
   }
   return 0;
}
2012-01-03 20:48
hk327143206
Rank: 2
等 级:论坛游民
帖 子:35
专家分:31
注 册:2011-6-25
收藏
得分:0 
求教了

[ 本帖最后由 hk327143206 于 2012-1-4 01:53 编辑 ]
2012-01-04 01:52
yzq189424658
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-10-20
收藏
得分:0 
程序代码:
#include <stdio.h>


int main(void)
{   

    float a[100];
    float aver = 0;
    int i;
    float all = 0;
       
    printf("请输入一组数,00表示输入完成:\n");
     for(i=0; i<100; ++i)
      {
           scanf("%f",&a[i]);
          
           if(a[i] == 00)

               break;
              
           all += a[i];     
       }
   
    printf("i= %d\n", i);
    aver=(all/i+5)/10.0; 
    printf("aver=%.1f",aver);
          
    return 0;
}

这是我自己改的,我也是新手,改得不好,不要见怪,希望高手多多指点,之前你有些定义为int类型,输出结果是没有的。所以我自己改了一下。 (晕。。发表了才知道,有这么多高手,已解决,,丢人了。)


[ 本帖最后由 yzq189424658 于 2012-1-4 09:53 编辑 ]
2012-01-04 09:52
快速回复:一道关于求平均数四舍五入的问题。求助!
数据加载中...
 
   



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

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