C语言 定义一个一维数组,并给数组赋值

打印该数组, 逆序输出该数组 求该数组的平均值 找出该数组中最大的元素

#include<iostream>
using namespace std;
int main(){
    const int MAX=10;//此处自己改
    int a[MAX],sum=0,max=0;
    for(int i=0;i<MAX;++i){
        cin>>a[i];
        sum+=a[i];//求和
        if(a[i]>max)max=a[i];//找最大元素
    }
    for(int i=0;i<MAX;++i){
        cout<<a[i]<<' ';
    }
    cout<<endl;//遍历
    for(int i=MAX-1;i>-1;--i){
        cout<<a[i]<<' ';
    }
    cout<<endl;//逆序遍历
    double avg=(double)sum/(double)MAX;
    cout<<"The average is "<<avg<<endl;
    cout<<"The max is "<<max<<endl;
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-16
#include <stdio.h>
int main()
{
    int a[10];
    int i,s=0,max=0;
    for(i=0;i<10;i++)
    {
        scanf("%d", &a[i]);
        if(a[i]>max)
            max=a[i];
        s+=a[i];
    }
    for(i=0;i<10;i++)
        printf("%d ", a[i]);
    printf("\n");
    for(i--;i>=0;i--)
        printf("%d ", a[i]);
    printf("\n");
    printf("ave=%f, max=%d\n", ((float)s)/10, max);
}

第2个回答  2013-05-16
这得看你是多少元素了

比如50个,那定义:
int a[60];
for(i=0;i<50;i++)
scanf("%d",&a[i]);
输出:
for(i=0;i<50;i++)
printf("%d",a[i]);
逆序
for(i=49;i<0;i--)
printf("%d",a[i]);
求平均值
int b=0;
for(i=0;i<50;i++)
b=b+a[i];
b=b/50;
最大元素:
int c;
for(i=0;i<49;i++)
{
if(a[i]<a[i+1])
c=i+1;
}
(这个最后最大的元素就是a[c],也就是第c+1个元素)
第3个回答  2013-05-16
#include<stdio.h>
#define MAX 1000
void main()
{
int a[MAX],i,maxi,max,n,s=0;
double b;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
s+=a[i];
if(i==0)
{
maxi=0;
max=a[i];
}
else if(a[i]>max)
{
max=a[i];
maxi=i;
}
}
b=1.0*s/n;
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
for(i=n-1;i>=0;i--)
printf("%d ",a[i]);
printf("\n%lf\n",b);
}
}
第4个回答  推荐于2017-09-29

/*打印该数组, 逆序输出该数组
* 求该数组的平均值
*找出该数组中最大的元素        */
#include<stdio.h>
#define SIZE 10

int main(void)
{
 int array[SIZE];
 int i,max;
 float sum=0,avg;
 printf("Please input the numbers:\n");
 for ( i=0; i<SIZE; i++)
 {
  scanf("%d",&array[i]);
  sum+=array[i];
 }
 max=array[0];
 avg=sum/SIZE;
 printf("Output the array:\n");
 for ( i=0; i<SIZE; i++)
 { 
  printf("%4d",array[i]);
  if ( max<=array[i] )
  {
   max=array[i];
  }
 }
 printf("\n逆序输出:\n");
 for ( i=SIZE-1; i>=0; i--)
 {
  printf("%4d",array[i]);
 }
 printf("\nThe max =%d\nThe avg of this array is:%f\n",max,avg);
 return 0;
}

本回答被提问者采纳
相似回答