注册 登录
编程论坛 C++教室

初学C++,一个编程问题请教下!

№自然逻辑£ 发布于 2008-11-01 10:52, 1603 次点击
题目:编写一个完整的程序从标准输入读入100个float型数据,然后计算平均值,并打印出每一个数及其与平均值之差的绝对值,要求变量在第一次使用之前进行定义。
下边我乱编的,因为初学,什么都不懂,希望各位指点下!谢谢咯!

#include<iostream>
#include<cmath>
using namespoace std;
int main(){
  float a,b,c,sum=0;
  abc(m,n,p);{
    if(m>n)
      p=m-n;
      return p;
    else
      p=n-m;
      return p;
  }
  for(int i=0;i<=99;i++){
    cin>>a;
    sum+=a;
    b=sum/i;
    abs(a,b,c);
   cout<<"b="<<b<<"a="<<a<<"c="<<c<<'\n';
  }
  return 0;
}
14 回复
#2
yifanaa8882008-11-01 11:21
不行,你的错着呢
#3
yifanaa8882008-11-01 11:25
你构建一个数组100大小,然后利用循环从输入端接收数据,接着用循环计算出平均值就行了额
#4
zxwangyun2008-11-01 12:26
你这问题大着呢,名词写错是一回事,还有在函数体内定义函数什么的啊
#5
东方罗密欧2008-11-01 15:33
基础功一定要扎实。。
#6
泉水天堂2008-11-01 15:51
建议你先看一下 c
注意写法和规则
#7
jiarujian2008-11-01 16:09
虽然是新人,但是希望你继续加油啊 !
#include<iostream.h>
#include<math.h>
void main()
{
    float a[100],sum=0,ave;
    double b[100];
    int k=0;
    for(int i=0;i<100;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    ave=sum/5;
    cout<<sum<<"  "<<ave<<endl;
        for(i=0;i<100;i++)
        {
            b[i]=ave-a[i],k++;
            if(k%10==0)
                cout<<fabs(b[i])<<'\n';
            else
        cout<<fabs(b[i])<<" ";
        }
    
}
#8
jiarujian2008-11-01 16:11
上一个程序在求平均数得时候我打错了!不是5,应该是100!对不起啊!
#include<iostream.h>
#include<math.h>
void main()
{
    float a[100],sum=0,ave;
    double b[100];
    int k=0;
    for(int i=0;i<100;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    ave=sum/100;         //这个地方前一个程序是不对你!
    cout<<sum<<"  "<<ave<<endl;
        for(i=0;i<100;i++)
        {
            b[i]=ave-a[i],k++;
            if(k%10==0)
                cout<<fabs(b[i])<<'\n';
            else
        cout<<fabs(b[i])<<" ";
        }
    
}
#9
tfg01162008-11-01 19:20
我觉得你应该把基础知识好好看一下,每个人一开始都是这样,我还记得自己编的第一个程序,还是得多看书多练习,下面的程序我没用数组而用的是容器vector,用它自然有它的好处,程序有什么不妥的地方还请赐教。
//题目:编写一个完整的程序从标准输入读入100个float型数据,然后计算平均值,
//并打印出每一个数及其与平均值之差的绝对值,要求变量在第一次使用之前进行定义。
#include<iostream>
#include<vector>

using namespace std;

int main()
{
    vector<float> fvec;
    float fval;
    float average = 0.0;
    float sum = 0.0;
    float absf = 0.0;
    cout<<"Enter float value for the vector(ctr+z to end):"<<endl;
    while(cin>>fval)
    {
        fvec.push_back(fval);
        sum += fval;
    }
    average = sum / 100;
    int cnt = 0;
    for(vector<float>::iterator iter = fvec.begin();
            iter != fvec.end(); iter++)
            {
                cout<<(*iter < average ? ((average - *iter)) : (*iter - average))
                    <<" ";
                ++cnt;
                if(cnt % 10 == 0)
                    cout<<endl;
            }
            return 0;
}
#10
dq01312008-11-01 19:21
电脑网络
.学知网是个有5000G学习资料的下载网站,注册后可免费下载以下资料:
.[路径]电脑网络-计算机源码-ASP代码-网站源码
.[地址]http://www.
#11
№自然逻辑£2008-11-02 10:02
谢谢各位啦。我会努力..
#12
№自然逻辑£2008-11-02 10:07
那教科书每节都有点习题,所以看了前边一些就开始编,后边很多没看,下去我把整本书都好好看看.再次谢谢啦
#13
newyj2008-11-02 14:56
程序代码:
#include<iostream>
using namespace std;

int main()
{  
   const int MAX=100;
   float f_var[MAX]={0};
   double sum=0.0;
   for (int i=0;i!=MAX;++i)
   {
     cin>>f_var[i];
     sum+=f_var[i];   
   }
   float avg=sum/MAX;
   cout<<avg<<endl;
   for (int i=0;i!=MAX;++i)
   {
     cout<<(f_var[i]-avg>0?f_var[i]-avg:-(f_var[i]-avg))<<" ";
     if (i%10==0) cout<<endl;   
   }  
   return 0;   
}
#14
冰烨2008-11-02 19:06
怎么感觉写出来的不是C++像vb
#15
zxwangyun2008-11-02 19:37
我怎么没这种感觉哦
1