数组并求平均数及各值与平均数之差

请使用循环和数组方式实现
样例输入:90 80 85 95
样例输出:2.5 -7.5 -2.5 7.5


#include<stdio.h>
void main()
{
    int a[1000];
    int n = 0;
    double avg = 0;
    do
    {
        scanf("%d",&a[n]);
        avg += a[n];
        n++;
    }while(getchar() !='\n');
    avg = avg/n;
    for(int i=0;i<n;i++)
        printf("%.1f ",a[i]-avg);
    return 0;
}


img


#include<stdio.h>
int main() {
 
  int array[1000];
  int  i,k=0;
  int  c;
float  avg,sum,dif=0.0;
while(1){
scanf("%d",&c);
if(getchar()=='\n'){array[k++]=c;break;}
else
{
    array[k++]=c;
}
}

  //使用循环遍历数组中的所有值
  for (i = 0; i <=k; i++) {
    // 将当前值加到总和中
    sum += array[i];
  }
  // 求出数组的平均数
   avg = sum /(k);
  // 使用循环遍历数组中的所有值
  for (i = 0;i< k; i++) {
    // 计算每个值与平均数的差
     dif= array[i] - avg;
    // 输出当前值与平均数的差
    printf("%.1f ", dif);
  }
  return 0;
}

望采纳。下面是一个使用循环和数组的 C 语言代码示例,它实现了数组的平均数求取和每个值与平均数的差的计算。

#include<stdio.h>

int main() {
  // 定义一个长度为 4 的整型数组
  int array[4] = {90, 80, 85, 95};
  // 定义一个浮点型变量来存储数组的总和
  float sum = 0;

  // 使用循环遍历数组中的所有值
  for (int i = 0; i < 4; i++) {
    // 将当前值加到总和中
    sum += array[i];
  }

  // 求出数组的平均数
  float average = sum / 4;

  // 使用循环遍历数组中的所有值
  for (int i = 0; i < 4; i++) {
    // 计算每个值与平均数的差
    float difference = array[i] - average;
    // 输出当前值与平均数的差
    printf("%f ", difference);
  }

  // 输出平均数
  printf("\n%f\n", average);

  return 0;
}

在这段代码中,我们首先定义了一个长度为 4 的整型数组,并使用循环遍历了它的所有值,求出了数组的总和。然后我们通过除以 4 来求出数组的平均数。之后,我们再次使用循环遍历数组中的所有值,并计算每个值与平均数的差,最后输出每个值与平均数的差和平均数。

一个循环不就ok了,至于最多多少个数就看你的需要了,在计算机的算力面前,手工输入多少都没问题

解答如下

img

#include <stdio.h>
int main()
{
    int t[255];
    int i=0;
    int sum=0;
    char ch;
    do
    {
        scanf("%d",&t[i]);
        sum+=t[i];
        i++;
    }while((ch=getchar())!='\n');
    
    for(int j=0;j<i;j++)
    {
        printf("%.1lf ",t[j]-(double)sum/i);
    }
    return 0;
}

如有帮助,望采纳

#include<iostream>
using namespace std;

const int largeLength = 4;

void fillArray(int a[],int number,int& numberUsed)
{
    int index=0,next;
    cout<<"请输入"<<number<<"个非负数\n";
    cout<<"键入负数表示结束!\n";
    cout<<"请输入数字:"<<endl;
    cin>>next;
    cout<<next<<endl;
    while((next>=0)&&(index<number))
    {
        a[index]=next;
        index++; 
        cout<<"请输入数字:"<<endl;
        cin>>next;
        cout<<next<<endl;
    }
      numberUsed=index;
    cout<<"最终数为:"<<numberUsed<<endl;     
}

double computerAverage(const int a[],int numberUsed)
{
    double total = 0.00;
    for(int index = 0;index<numberUsed;index++)
    {
        total += a[index];
    }
    return total;    
}

void showDifference(const int a[],int numberUsed)
{

    double average = computerAverage(a,numberUsed)/numberUsed;
    cout<<"Average of "<<numberUsed<<" is "<<average<<endl;
    cout<<"The scores are \n";
    for(int i=0;i<numberUsed;i++)
    cout<<a[i]<<"differs from average by "<<a[i]-average<<endl;
}

int main()
{
   int as[largeLength],numberUsed;
  
   fillArray(as,largeLength,numberUsed);
   showDifference(as,numberUsed);
   return 0;
}