当前位置: 代码迷 >> C语言 >> 输入一串数字数组,以回车结束,计算输入数的个数
  详细解决方案

输入一串数字数组,以回车结束,计算输入数的个数

热度:112   发布时间:2008-02-25 21:20:42.0
#include<stdio.h>
#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]]
----------------解决方案--------------------------------------------------------
你自己写啊......用指针,最后检查一下回车就好了
----------------解决方案--------------------------------------------------------
  相关解决方案