输入的数可能是逗号分割,也可能是空格分割的,该怎么写呢,主要是不知道循环的结束条件是什么。例如输入1,3,2,4 回车 数组中写入1 3 2 4;
或者输入1 3 2 4回车 数组中写入1 3 2 4;
谢谢各位的回答,但是忘了补充一点,事先不知道数字的个数。
一开始声明一个足够大的数组,接受输入,以回车符结束~我的问题是不知道终止条件那里该怎么写
使用循环可以方便地实现这一点。
#include<stdio.h>
int main()
{
int a[1000],n,i=0;
long s=0;
printf("请输入数据,并以-1表示结束:");
while(1)
{
scanf("%d",&a[i]);
if(a[i]==-1)break;
s+=a[i++];
}
printf("共输入有效数据%d个,总和=%ld,平均值=%lf\n",i,s,(float)s/i);
system("pause");
return 0;
}
不知道数字的个数呢? 以回车符确定接受输入完毕~
数字的个数是未知数,该怎么写终止条件呢?
追答回车字符是\n,有个函数getchar(),
#include
main()
{
int a[1000];
int c,k=0;
for (int i = 0; i<1000 && c!=EOF && c!='\n'; ++i)
{
++k;
scanf ("%d", &a[i]);
c=getchar();
}
for (int j=0;j<k;++j)
printf("%d ",a[j]);
}
看看可以不