注册 登录
编程论坛 C语言论坛

1,2,3,4,5,6,7,8,9,10十个数里求最大的数,用一维数组怎么写

闯闯程序猿 发布于 2019-12-04 16:51, 2212 次点击
本人计算机科学与技术专业,大一,不太懂,问的问题比较幼稚,还请大佬们多多照顾
感觉用数组好做,但不太会,两个两个比我感觉太麻烦了


[此贴子已经被作者于2019-12-4 17:17编辑过]

8 回复
#2
rjsp2019-12-04 17:03
问的问题比较幼稚
是的,必要的条件不肯交代。比如 数据类型是什么、十个数是什么组织形式。

假设是数组的话,一般而言
type the = 此类型下的最小值,比如 INT_MIN、-DBL_MAX 等等;
for( size_t i=0; i!=10; ++i )
    if( the < arr[i] )
        the = arr[i];
the 里保存的就是最大的那个数
#3
Jason_2019-12-04 21:38
这题也可以不用数组解
就是用一个for读入,重复读入变量x,再用一个变量mx储存最大的(将mx初始化为0)。
每次读入一个数据就和mx进行比较,如果当前的x比mx大那么mx=x;
#4
Jason_2019-12-04 21:43
3楼的代码实现
程序代码:
#include <iostream>
using namespace std;
int x,mx=0;
int main()
{
    for (int i=1; i<=10; i++)
    {
        cin>>x;//这里是输入10个任意数找最大的
        if (x>mx)
          mx=x;
    }
    cout<<mx;
    return 0;
}
我学的是C++,可能和C语言不太一样
#5
闯闯程序猿2019-12-05 00:01
回复 4楼 Jason_
没关系,谢谢啊
#6
闯闯程序猿2019-12-05 00:13
回复 2楼 rjsp 大师,帮忙看看,我刚学,懂得不多,谢谢
#include  <studio.h>
#define n 10
int main()
{
int a[n]
int max, i;
int a[n];
for(i=0;i<n;i++)
{
printf("qingshuru:",i+1);   
scanf("%d",&a[i]);
if(i=0) max=a[0];                        主要是我想让max等于数组里的第一个数,
if(max<a[i]) max=a[i];               然后再比较,可是我不会表达让max等于第一个数,我写的这个好像不太行。
}
printf("shuchushi:%d\n",max);
return 0;
}
#7
rjsp2019-12-05 09:09
回复 6楼 闯闯程序猿
程序代码:
// 这代码不是我写的,我只是改写了一下。我也并不理解为什么要存入数组中,但却没使用过这个数组
#include <stdio.h>

int main( void )
{
    int max;
    int a[10];
    for( size_t i=0; i!=sizeof(a)/sizeof(*a); ++i )
    {
        scanf( "%d", &a[i] );
        if( i == 0 )
            max = a[0];
        if( max < a[i] )
            max = a[i];
    }
    printf( "max value: %d\n", max );
}
#8
qq686775892019-12-05 19:32
程序代码:
#include<stdio.h>
int main() {
    int a[10],max,i;
    for(i=0; i<10; i++)
        scanf("%d",&a[i]);
    max=0;
    for(i=0; i<10; i++) {
        if(max<a[i])/*如果最大值小于输入的数,那么就把输入的数赋给最大值*/
            max=i;
    }
    printf("max is %d",a[i]);/*输出最大值*/
    return 0;
}


[此贴子已经被作者于2019-12-5 19:40编辑过]

#9
自学的数学2019-12-05 19:55
程序代码:
#include <stdio.h>
int main(void)
{
    int a[10],i,max = 0;
   
    printf("Please input ten numbers:");
    for(i = 0;i < 10;i++)
        scanf("%d",&a[i]);
        
    for(i = 0;i < 10;i++)
        if(a[i] > a[max])
            max = i;
    printf("The biggest number is No.%d:%d\n",max+1,a[max]);
   
    return 0;

}
1