请使用循环和数组方式实现
样例输入: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;
}
#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了,至于最多多少个数就看你的需要了,在计算机的算力面前,手工输入多少都没问题
解答如下
#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;
}