当前位置: 代码迷 >> C语言 >> 从屏幕上输入十个数, 输出它们的最大值
  详细解决方案

从屏幕上输入十个数, 输出它们的最大值

热度:406   发布时间:2006-10-20 10:18:25.0
以下是引用锋影残雪在2006-10-19 20:15:05的发言:

有个疑问 int a[10],i,j=0
“J+=A[10]”是什么意思呢?

注意大小写,意义不同
j+=a[10] 就等价于 j=j+a[10]


----------------解决方案--------------------------------------------------------
以下是引用锋影残雪在2006-10-19 19:46:46的发言:

呃``3楼的大哥,
你里面的有些符号看不懂叻
自己做了一个最大值的
/*从屏幕上输入十个数, 输出它们的平均值*/

int a, c, max;

printf("输入十个数:");//要求接受10个数的输入,

scanf("%d%d%d", &a&c&max);//怎么这里只接受了三个数的输入

for (a=0; a<10; a++){
if(max<a) {
max=a;
}
if(max<c){
max=c;
}
printf("max=%d\n", max);
}

但是生成不了
是有什么问题么?
帮看看哦
谢谢

试下这个:
#include<stdio.h>
void main()
{
int num[10];
int i,sum=0,avg;
printf("请输入十个数字:\n");
for(i=0;i<10;i++)
{
scanf("%d",num[i]);
sum+=num[i];
}
avg=sum/10;
max=num[0];
for(i=0;i<10;i++)
{
if(max<num[i])
{
max=num[i];
}
}
printf("最大值是:%d 平均值是:%d",max, avg);
}


----------------解决方案--------------------------------------------------------
以下是引用nuciewth在2006-10-19 19:36:34的发言:

#include "stdio.h"
#define N 10
void main()
{
int i,a[N],max=-32768;//定义一个变量表示最大值,初始时为整型中的最小值,以方面换取最大值,当然也可以给它赋上a[0],那得在a[0]有值的情况下,那么下面的循环则从1开始.
double ave=0; //平均值
for(i=0;i<N;i++) //遍历一次
{
scanf("%d",&a[i]); //边输入边计算.
if(a[i]>max) //max始终保持当前最大值.
{
max=a[i];
}
ave+=a[i]; //ave是当前的总和.
}
printf("最大值是:%d\n平均值是%lf\n",max,ave/N);


}


/ *呵呵,解释下*/
----------------解决方案--------------------------------------------------------

前几天作的题,也是求10个数的最大和平均值.保证能用

/*3.24_3.c
求10个数的最大数和平均数*/
#include <stdio.h>

int main()
{
int counter = 1;
int total = 0;
int number,largest,average;

scanf("%d",&largest); /*输入最大数据*/

while(counter < 10)
{

scanf("%d",&number);
if(number > largest) /*判断,数据>最大数*/
largest = number; /*数值赋给最大数*/

counter = counter + 1;
total += number;

} /*while结束*/
average = total / counter;
printf("largest is %d\n", largest);
printf("average is %d\n", average);

getch ();
return 0;
}

[此贴子已经被作者于2006-10-20 23:36:47编辑过]


----------------解决方案--------------------------------------------------------
以下是引用jiang520在2006-10-20 10:18:25的发言:

注意大小写,意义不同
j+=a[10] 就等价于 j=j+a[10]

这种写法是错误,应该是j+=a[9];将第十个元素加j赋给j.数组定义后从0为下标开始.,大佬看清楚题目.
----------------解决方案--------------------------------------------------------
谢谢分享
----------------解决方案--------------------------------------------------------

以下是引用C语言学习者在2006-10-20 23:26:20的发言:

这种写法是错误,应该是j+=a[9];将第十个元素加j赋给j.数组定义后从0为下标开始.,大佬看清楚题目.

是啊,但我仅仅是就事论事,就j+=a[9]这个而论,并没有在意楼主写的这个,和他的题目相关的咯,要怪就怪楼主吧


----------------解决方案--------------------------------------------------------
就这题来说那肯定是j+=a[9]了哦
汗,我回答的本意不是这个,是 "j+=a[9]是等价于j=j+a[9]"这个事实,兄台,呵呵
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#define N 10
void main()
{
int num[N],i;
int max,min,sum=0;
float pj;
printf("请输入10个数:");
for(i=0;i<N;i++)
{
scanf("%d",&num[i]);
sum=sum+num[i];//将10个数累加
}
pj=sum/N;//就平均成绩
max=num[0];
min=num[0];
for(i=1;i<N;i++)
{
if(max<num[i])//max中总是存储最大值
max=num[i];
if(min>num[i])//min中总是存储最小值
min=num[i];
}
printf("最大值为:%d\n",max);
printf("最小值为:%d\n",min);
printf("平均值为:%5.2f",pj);
}
----------------解决方案--------------------------------------------------------

求最大值可以用 起泡法
在使用起泡法的同时使用累加求平均!


----------------解决方案--------------------------------------------------------
  相关解决方案