一道“C语言”的数组题。

来源:百度知道 编辑:UC知道 时间:2024/07/04 18:27:08
从键盘输入20个正整数,计算出这20个正整数的平均值,输出此平均值以及大于平均值的各个正整数。

简单说明解题思路,谢谢了。

#include<stdio.h>
void main()
{
int a[20],i,sum=0;
float avg;/*平均值*/
printf("input 20 numbers:\n");
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}/*将20个数的和存入sum中*/
avg=sum/20.0;/*平均值*/
printf("average=%f\n",avg);/*输出平均值*/
for(i=0;i<20;i++)/*输出比平均值大的数*/
if(a[i]>avg)
printf("%d ",a[i]);
printf("\n");
}

#include<stdio.h>
#define ARRYSIZE 20//宏定义,一般用大写字母表示,在此表示输入正整数的个数,//如要求更多整数的问题,直接在此修改就行,这就是宏定义的好处
//程序思路是,先将从键盘接受的数据保存在数组Arry[ARRYSIZE],
//然后用循环对数组所有元素进行求和放在变量
//sum中进行求得平均值,再用循环将数组元素与平均值average进行
//较,如果大于平均值,输出数组元素下标和该元素
void main()
{
int i=0; //i表示数组元素下标
double sum=0.0; //保存数组元素和
double average=0.0;
int Arry[ARRYSIZE]={0};//定义数组保存从键盘接收的数据
for(i;i<ARRYSIZE;i++) //用循环从键盘接收ARRYSIZE大小的数据
{
p