从键盘上输入 10个数,求最大值、最小值和平均值。
C语言,实在不知道怎么写了
参考学习:
#include <stdio.h>
int main()
{
int i, max, min;
float sum = 0;
int a[10];
printf("请输入10个数:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
sum += a[i];
}
max = min = a[0];
for (i = 1; i < 10; i++)
{
if (a[i] > max)
max = a[i];
if (a[i] < min)
min = a[i];
}
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%.2f\n", sum / 10);
return 0;
}
供参考:
#include <stdio.h>
#define N 10
int main()
{
int i;
float a[N],max,min,sum;
for (i = 0,sum = 0;i < N;i++)
{
scanf("%f", &a[i]);
if (i == 0 || max < a[i]) max = a[i];//得到最高分
if (i == 0 || min > a[i]) min = a[i];//得到最低分
sum += a[i];
}
printf("max:%.2f,min:%.2f,avg:%.2f",max,min,sum/N);
return 0;
}
程序运行结果示例1:
Input 10 numbers:1 2 3 4 5 6 7 8 9 10↙
max=10,pos=9
min=1,pos=0
程序运行结果示例2:
Input 10 numbers:2 4 5 6 8 10 1 3 5 7 9↙
max=10,pos=5
min=1,pos=6
程序:
#include <stdio.h>
int FindMax(int a[], int n, int *pMaxPos);
int FindMin(int a[], int n, int *pMinPos);
int main()
{
int a[10], maxValue, maxPos, minValue, minPos, i;
printf("Input 10 numbers:");
for (i=0; i<10; i++)
{
scanf("%d", &a[i]); // 输入10个数
}
maxValue = FindMax(a, 10, &maxPos); // 找最大值及其所在下标位置
minValue = FindMin(a, 10, &minPos); // 找最小值及其所在下标位置
printf("max=%d,pos=%d\n", maxValue, maxPos);
printf("min=%d,pos=%d\n", minValue, minPos);
return 0;
}
//函数功能:求有n个元素的整型数组a中的最大值及其所在下标位置,函数返回最大值
int FindMax(int a[], int n, int *pMaxPos)
{
int i, max;
max = a[0]; //假设a[0]为最大值
*pMaxPos = 0; //假设最大值在数组中的下标位置为0
for (i=1; i<n; i++)
{
if (a[i] > max)
{
max = a[i];
*pMaxPos = i; //pMaxPos指向最大值数组元素的下标位置
}
}
return max ;
}
//函数功能:求有n个元素的整型数组a中的最小值及其所在下标位置,函数返回最小值
int FindMin(int a[], int n, int *pMinPos)
{
int i, min;
min = a[0]; //假设a[0]为最小
*pMinPos = 0; //假设最小值在数组中的下标位置为0
for (i=1; i<10; i++)
{
if (a[i] < min)
{
min = a[i];
*pMinPos = i; //pMinPos指向最小值数组元素的下标位置
}
}
return min ;
}