#define N 1000
int main()
{
int i=0,j;
int a[N];
printf("请输入整数,空格结束单个数字输入,enter结束整个数组输入:\n");
while(EOF != scanf("%d", &a[i]) )
{
i++;
if(getchar() == '\n')
break;
}
printf("\n");
printf("您刚才输入的数组为:\n");
for(j=0;j<i-1;j++)
printf("%d ",a[j]);
printf("%d\n", a[i-1]);
printf("您共输入了%d个数字。",i);
getchar();
}
我好象理解了你的意图了。请教了个高人,写出了上面的程序,您验证一下,看看对不对您的题意?
[[it] 本帖最后由 广陵绝唱 于 2008-2-25 21:21 编辑 [/it]]
----------------解决方案--------------------------------------------------------
回复 9# 的帖子
这个好象是不对的 算进了空格 ----------------解决方案--------------------------------------------------------
11楼的朋友是对的
我将其简化了一下
达到功能而已
感谢大家 我参考了各位写的
写了相似的两个,也可以说是一样
#include<stdio.h>
void main()
{
int i=0,a[10];
while(EOF!=scanf("%d", &a[i++]))
if(getchar() == '\n') break;
printf("您共输入了%d个数字。\n",i);
}
#include"stdio.h"
void main()
{
int a[10],c;
int i=0;
while((c=getchar())!='\n')
{
if(c==32) continue;
a[i++]=c-48;
}
printf("i=%d\n",i);
}
[[it] 本帖最后由 zmhdxy 于 2008-2-25 22:25 编辑 [/it]]
----------------解决方案--------------------------------------------------------
你自己写啊......用指针,最后检查一下回车就好了
----------------解决方案--------------------------------------------------------