用c语言编写一段代码,功能是:用户输入N个数字后,(1)计算N个数的平均值,并在屏幕上 显示;(2)将N个数字按每个数字与平均值之差的绝对值,由小到大排列。
时间: 2023-03-15 17:23:50 浏览: 76
#include<stdio.h>
int main()
{
int n,i;
float sum=0,a[100],ave,temp;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%f",&a[i]);
sum+=a[i];
}
ave=sum/n;
printf("average = %f\n",ave);
for(i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(fabs(a[i]-ave)>fabs(a[j]-ave))
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<n;i++)
{
printf("%f\t",a[i]);
}
printf("\n");
return 0;
}
相关问题
用c语言编写一段代码,输入30位学生的语数英三科成绩,求出每个学生的成绩平均值
以下是用 C 语言编写的一个求解学生成绩平均值的代码,它可以输入 30 位学生的语文、数学、英语成绩,然后输出每个学生的成绩平均值:
```c
#include <stdio.h>
int main() {
int scores[30][3]; // 用一个二维数组来保存学生的成绩
float averages[30]; // 用一个一维数组来保存学生的平均分数
// 输入每个学生的三科成绩,计算他们的平均分数
for (int i = 0; i < 30; i++) {
printf("请输入第 %d 位学生的语数英成绩:", i+1);
scanf("%d %d %d", &scores[i][0], &scores[i][1], &scores[i][2]);
averages[i] = (scores[i][0] + scores[i][1] + scores[i][2]) / 3.0;
}
// 输出每个学生的平均分数
for (int i = 0; i < 30; i++) {
printf("第 %d 位学生的平均分数为 %.2f\n", i+1, averages[i]); // 保留两位小数
}
return 0;
}
```
在这段代码中,我们首先定义了一个二维数组 `scores[30][3]`,用于保存每个学生的语文、数学和英语成绩,以及一个一维数组 `averages[30]`,用于保存每个学生的平均分数。然后,我们使用 `for` 循环依次输入每个学生的三科成绩,计算他们的平均分数,并将结果保存到 `averages` 数组中。最后,使用另一个 `for` 循环输出每个学生的平均分数。
编写一段代码,求包含 n 个元素的整数数组中元素的平均值。要求在函数内部使用指针访问数组元素,使用c语言。
可以按照以下方式编写代码来实现:
```c
#include <stdio.h>
double average(int *arr, int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += *(arr + i);
}
return sum / n;
}
int main() {
int arr[] = { 1, 2, 3, 4, 5 };
int n = sizeof(arr) / sizeof(arr[0]);
double avg = average(arr, n);
printf("平均值为: %f\n", avg);
return 0;
}
```
这个程序首先定义了一个 `average` 函数,该函数的实现与上一个问题中的函数相同。然后,在 `main` 函数中,我们定义了一个包含 5 个整数的数组,并计算它们的平均值。最后,我们将平均值打印到屏幕上。注意,我们需要使用 `sizeof` 运算符来计算数组的大小,这样我们就可以将其作为参数传递给 `average` 函数。
阅读全文