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

要求:
打印该数组,
逆序输出该数组,
求该数组的平均值
找出该数组中最大的元素。
拜托啦~~~~

1 定义数组;

2 给定初始化值;

3 打印初始化值;

4 循环输入,并赋值给数组;

5 输出赋值后的数组。

代码:

int main()
{
    int a[5]={1,2,3,4,5};
    int i,n;
    for(i = 0; i < 5; i ++)
        printf("%d ", a[i]);
    printf("\n");
    for(i = 0; i < 5; i ++)
    {
        scanf("%d",&n);
        a[i] = n;
    }
    for(i = 0; i < 5; i ++)
        printf("%d ", a[i]);
    printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-29

我写的这个程序应该比较容易理解。


#include <stdio.h>
main(void)
{
int a[10],i,max;
float ave,s;
max=a[0];
s=0;
printf("请输入10个数:\n"); 
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
if(max<a[i])
max=a[i];
s+=a[i];
}
printf("该数组为:\n"); 
for(i=0;i<9;i++)
printf("%4d",a[i]); 
printf("\n"); 
printf("该数组逆序输出为:\n"); 
for(i=9;i>=0;i--)
printf("%4d",a[i]); 
printf("\n"); 
printf("\n该数组最大值为:%d\n",max); 
ave=s/10;
printf("\n该数组平均值为:\t%f\n",ave); 
}


第2个回答  2019-09-20
一位数组赋值的几种方式
int
a[10]={1,2,3,4,5,6,7,8,9,10};
.一般初始化,例:
int
a[10]={3,10,5,3,4,5,6,7,8,9};
int
array[5]={2,3,4,5,6};
其结果是给每一个数组元素都指定了初值。
2.部分元素初始化,其余元素均为零。
例:
int
a[10]={7,8,9,67,54};
仅给前5个元素赋初值,后5个元素初值为0。
3.全部元素均初始化为1。
int
a[10]
=
{1,1,1,1,1,1,1,1,1,1};
不允许简写为 int
a[10]={1};或int
b[10]={1*10};
同学们想一想上述定义a和b数组后,初始化结果是什么?
注意:当程序不给数组指定初始值时,编译器作如下处理:
(1)部分元素初始化,编译器自动为没有初始化的元素初始化为0。
(2)数值数组如果只定义不初始化,编译器不为数组自动指定初始值,即初值为一些随机值(值不确定)。
4.如果全部元素均指定初值,定义中可省略元素的个数。
例:
int
a[5]={9,28,3,4,5};可以写为:
int
a[
]={9,28,3,4,5};
数组元素的引用
c语言规定,不能整体引用数值数组,只能逐个引用数组元素;
元素引用方式:数组名[下标表达式]
例:a[0]
=
a[5]
+
a[7]
-
a[2*3]
“下标表达式”可以是任何非负整型数据。
特别强调:1.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。
2.在c语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。
第3个回答  推荐于2017-09-10
#include <stdio.h>

int main(void)
{
int a[]={9,19,34,13,13,56};
int max = a[0];
int sum = 0;
float average;

int i = 0;

for(i=0;i<6;++i)
{
if(a[i] >= max)
max = a[i];
printf("%d ",a[i]);
}
putchar('\n');

/*逆序输出*/
for(i=5;i>=0;--i)
printf("%d ",a[i]);

putchar('\n');

for(i=0;i<6;++i)
{
sum += a[i];
}
average = sum/6;
printf("数组平均值:%.2f\n",average);
printf("最大值:%d\n",max);

return 0;
}追问

请问该数组中最大的元素该怎么求?

追答

我给的代码中:

for(i=0;i= max)
max = a[i];
printf("%d ",a[i]);
}
max用来存储最大元素的值,初值被赋值为数组的第一个元素-----max = a[0];
通过循环遍历数组所有元素,并通过一个if判断语句比较各个元素与max的值,如果元素大于max,
则max被改写为那个数组元素的值.遍历完成后,max自然就是数组元素中的最大值.

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