c语言如何让输入特定数字结束输入

编程,输入若干个0 到 9之间的整数,输入-1时停止,输出各整数的个数。
#include <stdio.h>
main ()
{
int i,n,sum=0;
printf("Please input 0-9,end with -1:\n");
do
{
scanf("%d",&n);
if(n>=0&&n<=9)
sum+=1;
}while (n!=-1);
printf("the number of integer is:%d\n",sum);
}
像上面的程序输入一个整数打一个空格键,输入-1后还可以输入数字。
能否做到当输入-1后回车或者打空格的时候,程序自动结束并且统计0-9的整数个数。

确定思路,可以采用循环输入遇到特定数字跳出循环,在这里while循环比较符合条件。

具体语句:

如:

#include "stdio.h"
it main()
{
   int n,i=0,a[100];
   scanf("%d",&n);
   while(n!=0)//这里的0就是特定数字。可以随便改
   {
      a[i++]=n;//将输入的数存入数组
      scanf("%d",&n);
   }
   for(int j=0;j<i;j++)
   printf("%d,",a[j]);//输出数组
   return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-14
这段代码每输入一个数字后回车的话,输入-1之后就程序自动结束并且统计0-9的整数个数,符合楼主的要求
如果是空格的话就不行,不过程序还是统计输入-1之前的整数个数,-1之后输入的数字不统计=w=本回答被提问者和网友采纳
第2个回答  2012-06-14
貌似不行,貌似只能做到统计-1前面的0到9的数的个数
第3个回答  2012-06-15
以下是空格输入,但没有你说的问题啊。
Please input 0-9,end with -1:
1 2 3 4 5 6 -1
the number of integer is:6
Press any key to continue
相似回答