在长度1000的整数数组中找到最大值,请问有方法能用Enter健终止循环输入数组么?(我用的999))

#include

void main()
{
int i,j,max,a[1000];
printf("请输入数字(999停止)\n");
for(i=0,j=0;i<1000&&a[i-1]!=999;i++)
{
scanf("%d",&a[i]);
j++;
}
for(i=1,max=a[0];i
{
if(max
max=a[i];
}
printf("max=%d",max);

把输入部分改为:

    char ch='0';
    for(i=0,j=0;i<1000&&ch!='\n';i++)
    {
        scanf("%d",&a[i]);
        ch=getchar();
        j++;
    }

PS:若最后一个数后输入空格再回车则无法结束输入

这么改,保留输入 999 结束输入,同时也可以以最后回车作为输入结束的条件,供参考:

#include <stdio.h>
void main()
{
    int i,j,max,a[1000];
    printf("请输入数字(999停止)\n");
    for(i=0,j=0;i<1000 && (getchar()) != '\n';i++)//输入回车结束输入
    //for(i=0,j=0;i<1000&&a[i-1]!=999;i++)
    {
        scanf("%d",&a[i]);
        if (a[i] == 999)  break;
        j++;
    }
    for(i=1,max=a[0];i<j;i++)
    //for(i=1,max=a[0];i<j-1;i++)
    {
        if(max<a[i])
            max=a[i];
    }
    printf("max=%d",max);
}