用c语言在主函数中输入数值给一维数组的n个元素赋值,用指针变量作为函数参数,通过函数调用实现从小到大的顺序排列,并计算这n个数的平均
时间: 2024-03-05 07:51:14 浏览: 78
函数指针、函数名、二维数组指针做形参
好的,您的问题我已经理解了。下面是代码实现:
```c
#include <stdio.h>
// 排序函数,使用指针变量作为参数
void sort(int *arr, int n){
int i, j, temp;
for(i = 0; i < n - 1; i++){
for(j = i + 1; j < n; j++){
if(*(arr + i) > *(arr + j)){
temp = *(arr + i);
*(arr + i) = *(arr + j);
*(arr + j) = temp;
}
}
}
}
int main(){
int n, i;
float sum = 0, avg;
printf("请输入数组元素个数:");
scanf("%d", &n);
int arr[n]; // 定义一维数组
int *p = arr; // 定义指针变量,指向数组首元素
// 输入数组元素
printf("请输入%d个整数:", n);
for(i = 0; i < n; i++){
scanf("%d", p + i);
sum += *(p + i); // 计算数组元素和
}
sort(p, n); // 调用排序函数,从小到大排序
// 输出排序后的数组元素
printf("排序后的数组元素为:");
for(i = 0; i < n; i++){
printf("%d ", *(p + i));
}
avg = sum / n; // 计算平均值
printf("\n这%d个数的平均值为:%.2f\n", n, avg);
return 0;
}
```
希望能够帮到您!
阅读全文