标题:小白刚入门,请大家帮忙看看,谢谢大家
只看楼主
闯闯程序猿
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-12-4
结帖率:0
已结贴  问题点数:10 回复次数:7 
小白刚入门,请大家帮忙看看,谢谢大家
#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;
}
搜索更多相关主题的帖子: int 一个数 入门 max printf 
2019-12-05 00:15
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:4 
用数组
程序代码:
#include <stdio.h>
#include <limits.h>

int main( void )
{
    int a[10];
    for( size_t i=0; i!=sizeof(a)/sizeof(*a); ++i )
        scanf( "%d", &a[i] );

    int maxval = INT_MIN;
    for( size_t i=0; i!=sizeof(a)/sizeof(*a); ++i )
        if( maxval < a[i] )
            maxval = a[i];
    printf( "max value is %d.\n", maxval );
}


不用数组
程序代码:
#include <stdio.h>
#include <limits.h>

int main( void )
{
    int maxval = INT_MIN;
    for( size_t i=0; i!=10; ++i )
    {
        int a;
        scanf( "%d", &a );
        if( maxval < a )
            maxval = a;
    }
    printf( "max value is %d.\n", maxval );
}
2019-12-05 09:04
bcbbcclbbc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
得分:4 
最好先标注 程序的题目是什么,要解决什么问题

printf("qingshuru:",i+1);    //这个语句你想表达什么? 放在for循环语句中就会循环一次,输出一次。
if(i=0) max=a[0];

注意:这里(i=0)一个等号是赋值运算,两个等号才是判断i的值是否为零。所以这里if后面的语句max=a[0]是不会执行的,应该改成if(i==0) max=a[i];
2019-12-05 16:22
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:4 
#include <stdio.h>
#include <limits.h>
int main()
{
int max,i;
int a[10];
for(i=0;i<10;i++)
  {
    printf("qingshuru:",i);   
    scanf("%d",&a[i]);
    max=a[0];                  
    if(max<a[i]) max=a[i];            
  }
printf("shuchushi:%d\n",max);
return 0;
}
2019-12-05 17:38
闯闯程序猿
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-12-4
得分:0 
回复 3楼 bcbbcclbbc
哦,我忘了,谢谢啊。一个等号是赋值,两个是判断,记住了
2019-12-05 21:32
闯闯程序猿
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-12-4
得分:0 
回复 4楼 自学的数学
谢谢,但我老感觉max=a[0],每一次循环都会执行。比如a[0]=1,a[1]=10,a[2]=2,这样写会不会输出2
2019-12-05 21:37
bcbbcclbbc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
得分:0 
回复 2楼 rjsp
用数组的方法,如果只输入了9个数,程序结果出现异常
而不用数组就避免了这个问题
2019-12-06 09:38
bcbbcclbbc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
得分:0 
回复 5楼 闯闯程序猿
循环体中的语句,只要循环一次就会执行一次。
循环体中的if语句,只有条件为真时,才执行。
循环体中遇到break会退出当前的循环;continue会跳过后面的语句重新进入循环。
if(i==1) max=a[0];   当i为1时,执行if后面的第一个语句max=a[0];,如果i不等于1时则不执行。
其次在循环体内i的值循环一次自增1,不会多次出现i==1的情况。
2019-12-06 09:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498211-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.205539 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved