编程小练习(5)
题目:求任意个数(大于0,小于2的32次方)的平均数
输入数字,按回车键确定输入,最后输入0并按回车键表示输入结束
输出之前输入的所有数的平均数
例如:
输入
1
3
5
0
输出
3
输入
2
2
2
3
0
输出
2.25 呵呵!来学习…… #include "stdio.h"
void main()
{ long double j,isum=0;
int i,n=0;
for(i=0;;i++)
{ scanf("%lf",&j);
if(j!=0) isum=isum+j,n++;
else break;}
printf("%0.2lf",isum/n);
}
斑竹!long double 能达到32位吗? 本帖最后由 blueapplez 于 2010-3-1 20:26 编辑
我认为楼上的代码很完美了
ps . 楼下说long double不够用俺就不懂是啥意思不知道为什么不够用
刚才我脑残了。。。
斑竹!long double 能达到32位吗?
chenyuzheng 发表于 2010-3-1 19:42 http://bbs.52pojie.cn/images/common/back.gif
j只需要int就够了
isum照你这样写long double也是不够的 本帖最后由 253891489 于 2010-3-1 21:16 编辑
c语言来做
没测试
#include "stdio.h"
void main()
{
int i,n;
float sum=0;
while(1)
{
scanf("%d",i)
sum+=i;
n++;
while(i==0)
{
printf("%f",sum/n);
}
}
}
楼上貌似是个死循环吧 本帖最后由 253891489 于 2010-3-1 21:16 编辑
c#来写
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n=1;
float sum=0;
int i = int.Parse(Console.ReadLine());
sum+=i;
n++;
if (i ==0)
{
Console.WriteLine("{0}",sum/n);
}
}
}
}
没测试
加点钱吧 楼上貌似是个死循环吧
blueapplez 发表于 2010-3-1 20:44 http://dx.52pojie.cn/images/common/back.gif
没注意错了 不好意思 呵呵 我去该下 最近开学都没啥时间:(eew
#include <iostream>
using namespace std;
int main()
{
double number,sum=0,i=0;
double average=0;
cout<<"number:"<<endl;
a:;
cin>>number;
while(number!=0)
{
i++;
sum=sum+number;
goto a;
}
average=sum/i;
cout<<"平均数:"<<average<<endl;
return 0;
}
页:
[1]
2