C语言int数组相关问题

Python011

C语言int数组相关问题,第1张

以EOF结束,输入方式 ctrl z回车

#include <stdio.h>

int main()

{

    int a[30]

    int n=0,i

    while(~scanf("%d",&a[n])) n++

    for(i = 0i<ni++)

        printf("%d ",a[i])

    printf("\n")

    return 0

}

首先,要明确您的输入在何种情况下表示终止,是空格,还是回车?。。

就像字符串,用scanf()就是遇到空格后,将空格前的字符串读入,用gets()就是遇到回车后把整行读入。。

如果说您的输入是在回车后终止的,有个简单的办法,就是在每读取一个数字后,判断一下用户是敲空格还是回车。。

程序代码如下:

#include

<stdio.h>

int

main(void)

{

int

a[100]

int

i

scanf("%d",

&a[0])

i

=

1

while

((int)getchar()

!=

10)

{

scanf("%d",

&a[i])

i++

}

printf("一共%d个数\n",

i)

system("pause")

return

(0)

}

运行结果如下:

但是这个程序有很多问题,比如用户在输入空格后,再敲回车,就退出不了了。。

其实通常情况是这么做的,就是自己设定个结束标志,比如当用户输入

-1

的时候,终止输入。。

如果情况更复杂的话,估计就只能以字符串形式输入,然后再一个字符一个字符的判断了。。